Tag: C#的

unique_ptr和shared_ptr之间的区别

可能重复: pimpl:shared_ptr或unique_ptr 智能指针(boost)解释 有人可以解释shared_ptr和unique_ptr之间的区别吗?

为什么multidimensional array的枚举值不等于自身?

考虑: using System; public class Test { enum State : sbyte { OK = 0, BUG = -1 } static void Main(string[] args) { var s = new State[1, 1]; s[0, 0] = State.BUG; State a = s[0, 0]; Console.WriteLine(a == s[0, 0]); // False } } 这怎么解释? 它在运行在x86 JIT中的Visual Studio 2015中的debugging版本中发生。 在x64 JIT中生成或运行的发行版按预期打印为True。 从命令行重现: […]

为什么pthreads的条件variables函数需要一个互斥量?

我在读pthread.h ; 与条件variables相关的函数(如pthread_cond_wait(3) )需要一个互斥量作为参数。 为什么? 据我所知,我将创build一个互斥体来作为这个参数? 那个互斥体应该做什么?

强制转换types“Int32”失败,因为物化值为空

我有以下代码。 我收到错误: “转换为值typesInt32失败,因为物化值为null。结果types的generics参数或查询必须使用可空types。 当CreditHistory表没有logging时。 var creditsSum = (from u in context.User join ch in context.CreditHistory on u.ID equals ch.UserID where u.ID == userID select ch.Amount).Sum(); 我怎样才能修改查询接受空值?

C中的静态函数

在C中静态函数有什么意义?

为什么HashSet <Point>比HashSet <string>慢得多?

我想存储一些像素位置而不允许重复,所以首先想到的是HashSet<Point>或类似的类。 然而,与HashSet<string>类似,这似乎很慢。 例如,这个代码: HashSet<Point> points = new HashSet<Point>(); using (Bitmap img = new Bitmap(1000, 1000)) { for (int x = 0; x < img.Width; x++) { for (int y = 0; y < img.Height; y++) { points.Add(new Point(x, y)); } } } 大约需要22.5秒。 虽然下面的代码(这显然不是一个好的select)只需要1.6秒: HashSet<string> points = new HashSet<string>(); using (Bitmap img = new Bitmap(1000, […]

使用Linqsearch对象列表中是否存在值

假设我有一个有FirstName属性的类Customer。 然后我有一个列表。 可以使用LINQ来查找列表中是否有单个语句中的Firstname ='John'的客户。如何?

从List <X>转换为List <Y>的语法较短?

我知道可以从一种types转换为另一种types的项目列表(假设你的对象有一个公共静态显式操作符方法来执行转换),如下所示: List<Y> ListOfY = new List<Y>(); foreach(X x in ListOfX) ListOfY.Add((Y)x); 但是不可能一次列出整个清单吗? 例如, ListOfY = (List<Y>)ListOfX;

不同的getter样式之间的C#差异

我有时会在getter的属性中看到缩写。 例如这两种types: public int Number { get; } = 0 public int Number => 0; 有人可以告诉我,如果这两者之间有任何区别。 他们如何performance? 他们都是只读吗?

将文件path转换为文件URI?

.net框架是否有任何方法转换path(例如"C:\whatever.txt" )到一个文件的URI(例如"file:///C:/whatever.txt" )? System.Uri类有相反的结果(从一个文件的URI到绝对path),但没有什么可以find转换为一个文件的URI。 另外,这不是一个ASP.NET应用程序。