Tag: C#的

如何使用Visual Studio(和/或ReSharper)从类字段生成构造函数?

我已经习惯了许多Java IDE(Eclipse,Netbeans,IntelliJ),它们为您提供了一个命令,用于根据类中的字段为类生成默认的构造函数。 例如: public class Example { public decimal MyNumber { get; set; } public string Description { get; set; } public int SomeInteger { get; set; } // ↓↓↓ This is what I want generated ↓↓↓ public Example(decimal myNumber, string description, int someInteger) { MyNumber = myNumber; Description = description; SomeInteger = someInteger; } […]

将string写入文本文件,并确保它总是覆盖现有的内容。

我有一个C#程序的string,我想写入一个文件,并总是覆盖现有的内容。 如果文件不存在,程序应该创build一个新文件,而不是抛出exception。

如何在C#中创build一个DataTable和如何添加行?

如何在C#中创build一个数据表? 我这样做: DataTable dt = new DataTable(); dt.clear(); dt.Columns.Add("Name"); dt.Columns.Add("Marks"); 我如何看到DataTable的结构? 现在我想添加Name 镭射和Marks 500 。 我怎样才能做到这一点?

来自.Net 4.5的asynchronousHttpClient是密集加载应用程序的不好select吗?

我最近创build了一个简单的应用程序来testingHTTP调用吞吐量,这个吞吐量可以用一种经典的multithreading方法以asynchronous方式生成。 该应用程序能够执行预定义数量的HTTP调用,并在最后显示执行它们所需的总时间。 在我的testing中,所有的HTTP调用都是由我的本地IIS服务器进行的,他们检索到一个小文本文件(12字节大小)。 下面列出了asynchronous实现代码中最重要的部分: public async void TestAsync() { this.TestInit(); HttpClient httpClient = new HttpClient(); for (int i = 0; i < NUMBER_OF_REQUESTS; i++) { ProcessUrlAsync(httpClient); } } private async void ProcessUrlAsync(HttpClient httpClient) { HttpResponseMessage httpResponse = null; try { Task<HttpResponseMessage> getTask = httpClient.GetAsync(URL); httpResponse = await getTask; Interlocked.Increment(ref _successfulCalls); } catch (Exception ex) { […]

可空的ToString()

我看到无处不在的build筑如: int? myVar = null; string test = myVar.HasValue ? myVar.Value.ToString() : string.Empty; 为什么不简单使用: string test = myVar.ToString(); 这不完全一样吗? 至lessReflector说: public override string ToString() { if (!this.HasValue) { return ""; } return this.value.ToString(); } 那么,这是正确的(更短的版本)还是我错过了什么?

D与C ++相比有多快?

我喜欢D的一些特性,但是如果它们带来运行时惩罚,会感兴趣吗? 为了比较,我实现了一个简单的程序,用C ++和D计算许多短vector的标量积。结果令人惊讶: D:18.9 s [参见下面的最终运行时间] C ++:3.8 s C ++的速度几乎快了五倍,还是我在D程序中犯了一个错误? 我使用g ++ -O3(gcc-snapshot 2011-02-19)编译了C ++,而在最新的linux桌面上编译了d与dmd -O(dmd 2.052)。 结果是可重现的几个运行和标准偏差可以忽略不计。 这里的C ++程序: #include <iostream> #include <random> #include <chrono> #include <string> #include <vector> #include <array> typedef std::chrono::duration<long, std::ratio<1, 1000>> millisecs; template <typename _T> long time_since(std::chrono::time_point<_T>& time) { long tm = std::chrono::duration_cast<millisecs>( std::chrono::system_clock::now() – time).count(); time = std::chrono::system_clock::now(); […]

如何在z / OS上使用C ++中的C socket API

我一直有问题让C的套接字API在C ++中正常工作。 具体来说,虽然我包括sys/socket.h ,但仍然有编译时错误告诉我AF_INET没有被定义。 我是否错过了一些显而易见的东西,或者这可能与我在z/OS上进行这种编码的事实有关,而且我的问题更加复杂? 更新 :经过进一步的调查,我发现有一个#ifdef我打。 显然z/OS是不开心,除非我定义我使用的套接字“types”: #define _OE_SOCKETS 现在,我个人不知道这个_OE_SOCKETS实际上是什么,所以如果有任何z/OS套接字程序员在那里(你们全部3个),也许你可以给我一个如何工作的概要? 当然,我可以发布testing应用程序。 #include <sys/socket.h> int main() { return AF_INET; } 编译/链接输出: cxx -Wc,xplink -Wl,xplink -o inet_test inet.C “./inet.C”,行5.16:CCN5274(S)“AF_INET”的名称查找没有find声明。 (I)编译文件./inet.C失败。 目标文件未创build。 sys / sockets.h的检查确实包括了我所需要的定义,就我所知,它并没有被任何#ifdef语句阻塞。 但是我注意到它包含以下内容: #ifdef __cplusplus extern "C" { #endif 它基本上封装了整个文件。 不知道是否重要。

在O(n)时间和O(1)空间中查找重复项

input:给定包含从0到n-1的元素的n个元素的数组,其中任何这些数字出现任何次数。 目标:在O(n)中find这些重复的数字,并只使用恒定的内存空间。 例如,令n为7,数组为{1,2,3,1,3,0,6},答案应该是1&3.我在这里查了类似的问题,但答案使用了一些数据结构,如HashSet等 任何有效的algorithm相同?

为什么sizeof(my_arr)编译并等于sizeof(my_arr )?

为什么这个代码编译? _Static uint32_t my_arr[2]; _Static_assert(sizeof(my_arr) == 8, ""); _Static_assert(sizeof(my_arr[0]) == 4, ""); _Static_assert(sizeof(my_arr)[0] == 4, ""); 前两个断言显然是正确的,但我会期望最后一行失败,因为我的理解是sizeof()应该计算为一个整数文字,不能被视为一个数组。 换句话说,就像下面一行失败一样: _Static_assert(4[0] == 4, ""); 有趣的是,下面的确不能编译(应该做同样的事情,不是吗?): _Static_assert(*sizeof(my_arr) == 4, ""); 错误:一元'*'的无效types参数(有'无符号长整型')_Static_assert(* sizeof(my_arr)== 4,“”); 如果重要的话,我使用的是gcc 5.3.0

如何从枚举中select一个随机值?

鉴于在C#中的任意枚举,我该如何select一个随机值? (我没有在这个问题上find这个基本的问题,我会在一分钟之内发表我的答案作为任何人的参考,但请随时发表你自己的答案。)