Tag: C#的

这是C#4中的协变错误吗?

在下面baseElements代码中,我希望能够隐式地从elements转换为baseElements因为TBase可以隐式转换为IBase 。 public interface IBase { } public interface IDerived : IBase { } public class VarianceBug { public void Foo<TBase>() where TBase : IBase { IEnumerable<TBase> elements = null; IEnumerable<IDerived> derivedElements = null; IEnumerable<IBase> baseElements; // works fine baseElements = derivedElements; // error CS0266: Cannot implicitly convert type // 'System.Collections.Generic.IEnumerable<TBase>' to // 'System.Collections.Generic.IEnumerable<IBase>'. // […]

在c ++程序中使用多个.cpp文件?

我最近从Java的C ++移动,但现在当我正在编写我的应用程序,我不感兴趣编写main函数中我想要的主函数中的所有代码调用另一个函数,但这个其他函数是在另一个.cpp文件。 让我解释一下,如果你不明白的话: 我有一个文件: main.cpp里面有我的主要function。 我有第二个文件: second.cpp里面我有一个函数调用second()我想从我的主函数调用这个函数调用second() 。 任何帮助?

.Net短唯一标识符

我在.Net中需要一个唯一的标识符(不能使用GUID,因为这是为了延长这种情况)。 难道人们认为这里使用的algorithmhttp://jopinblog.wordpress.com/2009/02/04/a-shorter-friendlier-guiduuid-in-net/是一个很好的候选人或有任何其他的build议吗?

?? 空合并运算符 – >合并意味着什么?

我很想说谎,说英语是我的第二语言,但事实是,我不知道什么是“凝聚”的意思。 我知道什么?? '在C#中做',但名字对我来说没有意义。 我查了一下这个词,我知道它是“连接”的同义词。 '空join运算符'仍然没有意义。 有人可以启发我吗?

当Visual Studio C ++debugging器中出现一个variables时,这是什么意思?

当Visual Studio C ++debugging器中显示一个variables时,这意味着什么? 我假设不好。 谢谢。

如何用C编程语言手动分配指针地址?

你如何用C编程语言手动指定一个指针地址(例如指向内存地址0x28ff44 )?

.net数组 – “长度”,“计数()”和“等级”

.net数组的“Length”,“Count()”和“Rank”之间有什么区别?

在enum中定义这些#define的目的是什么?

我在linux头文件/usr/include/dirent.h中发现了这个代码: enum { DT_UNKNOWN = 0, # define DT_UNKNOWN DT_UNKNOWN DT_FIFO = 1, # define DT_FIFO DT_FIFO DT_CHR = 2, # define DT_CHR DT_CHR DT_DIR = 4, # define DT_DIR DT_DIR DT_BLK = 6, # define DT_BLK DT_BLK DT_REG = 8, # define DT_REG DT_REG DT_LNK = 10, # define DT_LNK DT_LNK DT_SOCK = 12, […]

Visual Studio 2015诊断工具不支持当前的debuggingconfiguration

使用VS2015快照和分析工具后,似乎无法使诊断工具再次运行。 每个项目,甚至新的只是说下面的 诊断工具窗口不支持当前的debuggingconfiguration。 尝试创build新的和不同types的项目,以pipe理员身份运行,删除程序数据,应用程序数据,从卸载修复和重新安装。 任何人都经历过这个?,因为他们在这个版本中改进了这个工具,所以感到惭愧。 谢谢

C#DBNull和可为空的types – 最简洁的转换forms

我有一个DataTable,它有很多列。 其中一些列是可空的。 DataTable dt; // Value set. DataRow dr; // Value set. // dr["A"] is populated from T-SQL column defined as: int NULL 那么,什么是从DataRow中的值转换为可为空的variables的最简洁forms。 理想情况下,我将能够做到这样的事情: int? a = dr["A"] as int?; 编辑 :原来你可以做到这一点,副作用是,如果您的架构types不是int,那么总是会返回null。 Ruben使用dr.Field<int?>("A")的答案可以确保types不匹配不会失败。 当然,这将通过彻底的unit testing来获得。 相反,我通常按照以下方式input内容: int? a = dr["A"] != DBNull.Value ? (int)dr["A"] : 0; 这是一堆更多的击键,但更重要的是,有更多的空间让某个人用错误的按键来填满东西。 是的,unit testing会挑选这个,但我宁愿停下来。 什么是这种情况最干净,最不容易出错的模式。