Tag: C#的

枚举的JSON序列化为string

我有一个包含enum属性的类,并在使用JavaScriptSerializer序列化对象时,我的json结果包含枚举的整数值而不是其string “name”。 有没有办法让我的JSON中的string枚举,而不必创build一个自定义JavaScriptConverter ? 也许有一个属性,我可以装饰的枚举定义,或对象的财产,与? 举个例子: enum Gender { Male, Female } class Person { int Age { get; set; } Gender Gender { get; set; } } 期望的json结果: { "Age": 35, "Gender": "Male" }

何时使用。首先和何时使用.FirstOrDefault与LINQ?

我已经四处search,并没有真正find一个清晰的答案,以什么时候你想要使用.First ,当你想要使用LINQ的.FirstOrDefault 。 你想什么时候使用.First ? 只有当你想要捕捉exception,如果没有结果返回? var result = List.Where(x => x == "foo").First(); 你想什么时候使用.FirstOrDefault ? 如果没有结果,你总是想要默认的types? var result = List.Where(x => x == "foo").FirstOrDefault(); 对于这个问题,Take呢? var result = List.Where(x => x == "foo").Take(1);

C ++线程的简单例子

有人可以发布一个简单的例子,在C ++中启动两个(面向对象)线程。 我正在寻找实际的C ++线程对象,我可以扩展运行方法(或类似的东西),而不是调用一个C风格的线程库。 更新 – 我遗漏了任何操作系统特定的请求,希望谁回复谁会回答跨平台库使用。 我只是现在就明确表示。

以编程方式查找一台机器上的内核数量

有没有一种方法可以确定一台机器在C / C ++中具有多less核心? 如果不存在这样的事情,那么每个平台(Windows / * nix / Mac)的确定呢?

了解C#中的事件和事件处理程序

我理解事件的目的,特别是在创build用户界面的情况下。 我认为这是创造一个事件的原型: public void EventName(object sender, EventArgs e); 事件处理程序做了什么,为什么需要它,我该如何创build一个?

recursion函数不返回指定的值

我想debugging一个recursion函数来validation用户input,并返回一个值,当input是确定的。 该函数如下所示: double load_price() { double price; Goods * tempGd = new Goods(); cin >> price; while (!cin) { cin.clear(); #undef max std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); cout << endl; cout << "You didn't enter a number. Do so, please: "; cin >> price; } // endwhile if (!tempGd->set_price(price)) { cout << endl; cout << "The price " […]

什么是使用printf来打印size_t的正确方法?

Size_t被定义为一个unsigned整数,但是它的大小取决于你是在32位还是在64位机器上。 什么是正确和便携的方式来打印size_t ?

testingstream.good()或!stream.eof()读取最后一行两次

可能重复: 为什么iostream :: eof里面的循环条件被认为是错误的? 我有以下一段代码: ifstream f("x.txt"); string line; while (f.good()) { getline(f, line); // Use line here. } 但是这读了最后一行两次。 为什么会发生这种情况,我该如何解决? 一些非常相似的事情发生在: ifstream f("x.txt"); string line; while (!f.eof()) { getline(f, line); // Use line here. }

为什么每次运行std :: random_device和mingw gcc4.8.1都得到相同的序列?

我使用下面的代码来testingc++ <random>库。 为什么每次运行编译的可执行文件都得到完全相同的序列? rd()在编译时是确定的吗? 每次运行如何获得不同的输出? 在Windows 7 64bit上的GCC 4.8.1。 使用来自http://nuwen.net/mingw.html的 MinGW发行版 编辑:我用Visual Studiotesting了相同的代码。 没有问题。 输出是不确定的。 这可能是在我使用的mingw gcc 4.8.1中的一个bug。 #include <iostream> #include <random> using namespace std; int main(){ random_device rd; mt19937 mt(rd()); uniform_int_distribution<int> dist(0,99); for (int i = 0; i< 16; ++i){ cout<<dist(mt)<<" "; } cout <<endl; }

从构造函数的C ++虚函数

为什么下面的例子打印出“0”,而为了打印出“1”,我想要怎么改变呢? #include <iostream> struct base { virtual const int value() const { return 0; } base() { std::cout << value() << std::endl; } virtual ~base() {} }; struct derived : public base { virtual const int value() const { return 1; } }; int main(void) { derived example; }