Tag: C#的

超高性能的C / C ++哈希映射(表,字典)

我需要将原始键(int,也许long)映射到高性能哈希映射数据结构中的结构值。 我的程序将有几百个这样的地图,每张地图通常最多有几千个条目。 不过,地图会不断“清爽”或“搅动” 想象一下,处理数百万次add和delete消息。 C或C ++中的哪些库具有符合此用例的数据结构? 或者,你会如何build议build立自己的? 谢谢!

我应该在我的LINQ查询中使用两个“where”子句或“&&”?

当写一个LINQ查询有多个“和”条件时,我应该写一个where子句包含&&或多个where子句,每个条件一个? static void Main(string[] args) { var ints = new List<int>(Enumerable.Range(-10, 20)); var positiveEvensA = from i in ints where (i > 0) && ((i % 2) == 0) select i; var positiveEvensB = from i in ints where i > 0 where (i % 2) == 0 select i; System.Diagnostics.Debug.Assert(positiveEvensA.Count() == positiveEvensB.Count()); } positiveEvensA和positiveEvensB之间除个人偏好或编码风格(长行,可读性等)之外是否有任何不同? […]

我需要考虑处置任何IEnumerable <T>我使用?

最近有人向我指出,各种Linq扩展方法(如Where , Select等)都返回一个IEnumerable<T> ,也恰好是IDisposable 。 以下评估为True new int[2] {0,1}.Select(x => x*2) is IDisposable 我是否需要处理Whereexpression式的结果? 每当我调用一个方法返回IEnumerable<T> ,我(可能)接受负责调用处理,当我完成了它?

什么是.NETreflection的“成本”?

可能重复: .NETreflection代价如何? 我目前处于编程心态,反思是我最好的朋友。 我使用它很多dynamic加载的内容,允许“松散实现”,而不是严格的接口,以及许多自定义属性。 什么是使用reflection的“真实”成本? 对于经常reflection的types来说,是否值得为cachingreflection付出努力,比如我们自己的LINQ DAL目标代码在所有属性上的表定义? 高速caching的内存占用是否会反映CPU使用率?

C ++:返回值是一个L值?

考虑这个代码: struct foo { int a; }; foo q() { foo f; fa =4; return f;} int main() { foo i; ia = 5; q() = i; } 没有编译器抱怨,即使是Clang。 为什么q() = …行是正确的?

OperationCanceledException和TaskCanceledException之间的区别?

OperationCanceledException和TaskCanceledException什么区别? 如果我正在使用.NET 4.5并使用async / await关键字,我应该找哪一个?

什么是便携式的方法来findsize_t的最大值?

我想知道我的程序正在运行的系统上size_t的最大值。 我的第一本能是使用负1,就像这样: size_t max_size = (size_t)-1; 但我猜测有一个更好的方法,或者是一个常量定义的地方。

使用XmlInclude或SoapInclude属性指定静态未知的types

使用.NET的XmlSerializer时,我遇到了一个非常奇怪的问题。 以下面的例子类: public class Order { public PaymentCollection Payments { get; set; } //everything else is serializable (including other collections of non-abstract types) } public class PaymentCollection : Collection<Payment> { } public abstract class Payment { //abstract methods } public class BankPayment : Payment { //method implementations } AFAIK,有三种不同的方法来解决由于序列化程序不知道派生types的Payment而导致的InvalidOperationException 。 1.将XmlInclude添加到Payment类定义中: 这是不可能的,因为所有的类都被包含为我无法控制的外部引用。 2.在创buildXmlSerializer实例期间传递派生types的types 不起作用。 3.为目标属性定义XmlAttributeOverrides以覆盖该属性的默认序列化(如本文所述) […]

如何在我的Mac上编译一个.c文件?

如何在我的Mac上编译一个.c文件?

生产代码中是否可以使用秒表?

我需要一个准确的计时器,DateTime.Now似乎不够准确。 从我读的说明,System.Diagnostics.Stopwatch似乎正是我想要的。 但是我有恐惧症 我很担心在实际生产代码中使用System.Diagnostics中的任何内容。 (我广泛使用Asserts和PrintLns等debugging,但从来没有生产的东西。)我不只是试图用一个计时器来衡量我的function – 我的应用程序需要一个实际的计时器。 我读过另一个论坛,System.Diagnostics.StopWatch只是基准,不应该用于零售代码,虽然没有任何理由。 这是正确的,还是我(和谁发布的build议)是太closures了System.Diagnostics的头脑? 即在生产代码中使用System.Diagnostics.Stopwatch是否可行? 谢谢阿德里安