Tag: C#的

当C中没有左侧时,&&操作符是做什么的?

我看到一个C程序,其代码如下: static void *arr[1] = {&& varOne,&& varTwo,&& varThree}; varOne: printf("One") ; varTwo: printf("Two") ; varThree: printf("Three") ; 我对“ &&操作感到困惑,因为左边没有任何内容。 它默认评估为空吗? 或者这是一个特例? 编辑:添加一些更多的信息,使问题/代码更清晰的我的问题。 谢谢大家的帮助。 这是gcc特定扩展的一个例子。

是否有一个entity framework7数据库优先POCO生成器?

我一直在玩Entity Framework 7和ASP.NET 5来开发一个新的项目,但是我碰到了一个障碍。 我正在开发的团队使用DBA优先的方法进行开发。 即数据库是由DBAdevise的,然后开发者修改代码来补偿模型的变化。 使用EF6,这很好,因为我们可以使用EDMXdevise器的“更新”function来更新代码。 点击一下,我们得到新的课程,我们完成了。 但是,在EF7中,一切都不一样。 没有更多的devise师,我们应该使用Code-First,根据EF团队的博客文章,也应该支持“数据库优先”代码生成。 但是,我无法弄清楚如何在ASP.NET 5应用程序中使用Visual Studio 2015 CTP6来实现这一点。 那里还有工具支持,还是我运气不好? 它甚至到来了吗?

我在哪里可以findPDF格式的C89 / C90标准?

我正在寻找C89 / C90标准的免费版本,但我找不到任何地方! 为什么很难find它? C99和C11标准很容易在互联网上获得副本。 即使在堆栈溢出问题我在哪里可以find当前的C或C ++标准文档? 而在C标准中,获得标准不包含我在找的东西。 networkingsearch也没有帮助,也没有开放标准 。

SetupSet()已过时。 代替什么?

比方说,我想使用Moq在setter上创build一个callback函数,将set属性存储在我自己的字段中供以后使用。 (举个例子 – 但它到了问题的重点。)我可以做这样的事情: myMock.SetupSet(x => x.MyProperty).Callback(value => myLocalVariable = value); 这工作得很好。 但是,根据Intellisense,SetupSet已过时。 但是没有说什么应该作为替代。 我知道,moq提供的SetupProperty将自动装载属性与后台字段。 但那不是我要找的。 我想把设定值捕捉到我自己的variables中。 我应该如何使用非过时的方法来做到这一点?

一个析构函数可以recursion吗?

这个程序是否定义明确,如果不是,为什么? #include <iostream> #include <new> struct X { int cnt; X (int i) : cnt(i) {} ~X() { std::cout << "destructor called, cnt=" << cnt << std::endl; if ( cnt– > 0 ) this->X::~X(); // explicit recursive call to dtor } }; int main() { char* buf = new char[sizeof(X)]; X* p = new(buf) X(7); […]

为什么std ::数组没有一个构造函数需要填充数组的值?

是没有的 std::array<T,size>::array(const T& value); 一个疏忽? 这似乎对我有用,dynamic容器(如std::vector )确实有一个类似的构造函数。 我完全知道 std::array<T,size>::fill(const T& value); 但这不是构造函数,内存将首先被清零。 如果我想要所有-1 这样的人呢?

每个循环的C#以什么顺序迭代List <T>?

我想知道在C#中的foreach循环通过System.Collections.Generic.List<T>对象循环的顺序。 我发现了另一个关于同一个话题的问题,但是我不觉得这个问题对我的满意度回答了我的问题。 有人说没有定义订单。 但是,正如其他人所说,它遍历一个数组的顺序是固定的(从0到Length-1)。 8.8.4 foreach语句 还有人说,对于任何具有订单的标准类(例如List<T> )也是如此。 我找不到任何文件来支持。 所以我知道现在可能会这样工作,但也许在下一个.NET版本中,它将是不同的(即使它不太可能)。 我也看了List(t).Enumerator文档没有运气。 另一个相关的问题指出,对于Java,在文档中特别提到: List.iterator()以适当的顺序返回此列表中元素的迭代器。 我正在寻找类似于C#文档中的东西。 提前致谢。 编辑:谢谢你所有的答案(惊人的速度有多less回复)。 我从所有的答案中得知, List<T>总是按照索引的顺序进行迭代。 但是我仍然希望看到文档的清晰和平,类似于List上的Java文档 。

使用C ++和Boost获取当前时间(以毫秒为单位)

在我的线程(使用boost :: thread)我需要检索当前时间在毫秒或更less,并转换为MS: 其实,在这里阅读我发现这个: tick = boost::posix_time::second_clock::local_time(); now = boost::posix_time::second_clock::local_time(); 而似乎工作,但我需要有一个毫秒的现在长时间的价值… 我该怎么做?

在C#中将dynamic和var投射到对象

考虑这些function: static void Take(object o) { Console.WriteLine("Received an object"); } static void Take(int i) { Console.WriteLine("Received an integer"); } 当我这样调用Take函数时: var a = (object)2; Take(a); 我得到: Received an object 但是,如果这样说: dynamic b = (object) 2; Take(b); 我得到: Received an integer 两个参数( a和b )都被转换为object 。 但为什么编译器有这种行为?

在C#中,为什么我不能在foreach循环中修改值types实例的成员?

我知道值types应该是不变的,但这只是一个build议,而不是一个规则,对吗? 那么为什么我不能这样做: struct MyStruct { public string Name { get; set; } } public class Program { static void Main(string[] args) { MyStruct[] array = new MyStruct[] { new MyStruct { Name = "1" }, new MyStruct { Name = "2" } }; foreach (var item in array) { item.Name = "3"; } //for (int […]