Tag: C#的

Linq:GroupBy,Sum和Count

我有一个产品的集合 public class Product { public Product() { } public string ProductCode {get; set;} public decimal Price {get; set; } public string Name {get; set;} } 现在,我想根据产品代码对收集进行分组,并返回包含每个代码的名称,数量或产品以及每种产品的总价格的对象。 public class ResultLine{ public ResultLine() { } public string ProductName {get; set;} public string Price {get; set; } public string Quantity {get; set;} } 因此,我使用GroupBy按ProductCode进行分组,然后计算总和并计算每个产品代码的logging数。 这是我迄今为止: List<Product> Lines […]

AppSettings从.config文件获取值

我无法访问configuration文件中的值。 Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); var clientsFilePath = config.AppSettings.Settings["ClientsFilePath"].Value; // the second line gets a NullReferenceException .config文件 : <?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <!– … –> <add key="ClientsFilePath" value="filepath"/> <!– … –> </appSettings> </configuration> 你有什么build议我该怎么办?

在C ++中,什么是“命名空间别名”?

什么是C ++中的“命名空间别名”? 它是如何使用的?

与LINQ的多个订单

我从一个基本的类开始,我想在使用LINQ的列表中进行操作,如下所示: public class FooBar { public virtual int Id { get; set; } public virtual string Foo{ get; set; } public virtual string Bar{ get; set; } } 这是我最终发现解决我的问题使用非lambda LINQ的东西。 // code somewhere else that works and gets the desired results var foobarList = GetFooBarList(); // Abstracted out – returns List<Foobar> // Interesting piece of […]

任务sorting和re-entracy

我有以下情况,我认为这可能是相当普遍的: 有一个任务(一个UI命令处理程序)可以完成同步或asynchronous。 命令可能比他们正在处理更快到达。 如果某个命令已经有待处理的任务,那么新的命令处理程序任务应该排队并按顺序处理。 每个新任务的结果可能取决于前一个任务的结果。 取消应该遵守,但为了简单起见,我想把它放在这个问题的范围之外。 此外,线程安全性(并发性)不是必需的,但必须支持重入性。 下面是我想要实现的基本示例(作为控制台应用程序,为了简单起见): using System; using System.Threading.Tasks; namespace ConsoleApp { class Program { static void Main(string[] args) { var asyncOp = new AsyncOp<int>(); Func<int, Task<int>> handleAsync = async (arg) => { Console.WriteLine("this task arg: " + arg); //await Task.Delay(arg); // make it async return await Task.FromResult(arg); // sync }; Console.WriteLine("Test […]

C ++相当于Java的BlockingQueue

我正在将一些Java代码移植到C ++中,一个特定的部分使用BlockingQueue将来自许多生产者的消息传递给一个消费者。 如果您不熟悉Java BlockingQueue是什么,那么它就是一个具有硬容量的队列,它将公开线程安全的方法,从队列中放()和取()。 如果队列已满,则put()块;如果队列为空,则取()阻塞。 此外,还提供了这些方法的超时敏感版本。 超时与我的使用情况有关,所以提供这些的build议是理想的。 如果没有,我可以自己编码。 我search了很多,并快速浏览了Boost库,我没有发现这样的事情。 也许我在这里是盲目的…但是有谁知道一个好的build议? 谢谢!

从C函数返回string

三年多来我一直没有用过C,很多东西我都生锈了。 我知道这可能看起来很愚蠢,但我现在不能从函数返回一个string。 请假定:我不能使用string.h 。 这是我的代码: #include <ncurses.h> char * getStr(int length) { char word[length]; for (int i = 0; i < length; i++) { word[i] = getch(); } word[i] = '\0'; return word; } int main() { char wordd[10]; initscr(); *wordd = getStr(10); printw("The string is:\n"); printw("%s\n",*wordd); getch(); endwin(); return 0; } 我可以捕获string(用我的getStr函数),但我不能让它正确显示(我得到垃圾)。 帮助表示赞赏。

iTextSharp创build页脚页面#

我试图在PDF文档的每个页面上使用iTextSharp格式的Page#of#在iText页面和书上的教程之后创build一个页脚。 虽然我不断得到cb.SetFontAndSize(helv,12)的exception; – 对象引用未设置为对象。 任何人都可以看到问题? 代码如下。 谢谢,罗布 public class MyPdfPageEventHelpPageNo : iTextSharp.text.pdf.PdfPageEventHelper { protected PdfTemplate total; protected BaseFont helv; private bool settingFont = false; public override void OnOpenDocument(PdfWriter writer, Document document) { total = writer.DirectContent.CreateTemplate(100, 100); total.BoundingBox = new Rectangle(-20, -20, 100, 100); helv = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.WINANSI, BaseFont.NOT_EMBEDDED); } public override void OnEndPage(PdfWriter writer, Document […]

我怎样才能从完成块检索返回值?

是否有可能在主线程上运行完成块? 例如,我有一个方法返回一个值: – (int)test { /* here one method is called with completion block with return type void */ [obj somemethodwithcompeltionblock: { /* here I am getting my Int which I want to return */ } ]; } 但是由于完成块在后台线程上运行,我无法看到如何从完成块中返回整数值作为此方法的结果。 我该怎么做?

Base32解码

我有一个base32string,我需要转换为一个字节数组。 而且我在.net框架中find一个转换方法时遇到了问题。 我可以findbase64的方法,但不是base32。 Convert.FromBase64String – 类似于base32的东西将是完美的。 在框架中是否有这样的方法,还是我必须推出自己的?