Tag: C#的

如何将char转换为int?

将char转换为int的正确方法是什么? 这给了49 : int val = Convert.ToInt32('1'); //int val = Int32.Parse("1"); // Works 我不想转换为string,然后parsing它。

C中%n格式说明符的用法是什么?

C中%n格式说明符的用法是什么? 任何人都可以解释一个例子吗?

使用IHttpActionResult返回非正常响应的内容

对于从Web API 2控制器返回,如果响应正常(状态200),我可以返回内容与响应: public IHttpActionResult Get() { string myResult = … return Ok(myResult); } 如果可能的话,我想在这里使用内置的结果types: https : //msdn.microsoft.com/en-us/library/system.web.http.results(v = vs.118).aspx 我的问题是,对于另一种types的响应(而不是200),我怎样才能返回一个消息(string)呢? 例如,我可以这样做: public IHttpActionResult Get() { return InternalServerError(); } 但不是这样的: public IHttpActionResult Get() { return InternalServerError("Message describing the error here"); } 理想情况下,我希望这是泛化,以便我可以发送一个消息与IHttpActionResult的任何实现。 我是否需要这样做(并build立自己的回应讯息): public IHttpActionResult Get() { HttpResponseMessage responseMessage = … return ResponseMessage(responseMessage); } 或者,还有更好的方法?

这个1988年的C代码有什么问题?

我试图从“C编程语言”(K&R)这本书中编译这段代码。 这是UNIX程序wc一个简单版本: #include <stdio.h> #define IN 1; /* inside a word */ #define OUT 0; /* outside a word */ /* count lines, words and characters in input */ main() { int c, nl, nw, nc, state; state = OUT; nl = nw = nc = 0; while ((c = getchar()) != EOF) { ++nc; […]

size_t和std :: size_t之间的区别

size_t和std::size_t在声明的位置和应该使用的地方以及其他区别特征之间有什么区别?

LINQ方法的运行时复杂性(Big-O)有什么保证?

我最近开始使用LINQ相当多,而且我还没有看到任何LINQ方法的运行时复杂性。 很明显,这里有很多因素,所以让我们把讨论限制在纯IEnumerable LINQ-to-Objects提供程序中。 此外,假设任何作为select器/增变器等传入的Func都是便宜的O(1)操作。 似乎很明显,所有的单程操作( Select , Where , Count , Take/Skip , Any/All等)都是O(n),因为他们只需要走一次序列; 虽然这是懒惰。 对于更复杂的操作,情况会更加恶劣。 集合类运算符( Union , Distinct , Except等)默认使用GetHashCode (afaik),所以假设他们在内部使用哈希表似乎是合理的,也使得这些操作O(n)一般来说。 那么使用IEqualityComparer的版本呢? OrderBy需要sorting,所以很可能我们看O(n log n)。 如果它已经分类? 如果我说OrderBy().ThenBy()并提供相同的密钥? 我可以看到GroupBy (和Join )使用sorting或哈希。 这是哪个? Contains在List O(n),但O(1)在HashSet – 是否LINQ检查底层容器,看看它是否可以加快速度? 而真正的问题 – 到目前为止,我一直坚信这个操作是高性能的。 但是,我可以在这个银行? 例如,STL容器清楚地说明了每个操作的复杂性。 .NET库规范中的LINQ性能有没有类似的保证? 更多的问题(回复评论): 没有真正考虑开销,但我没想到对于简单的Linq-to-Objects来说还有很多。 CodingHorror文章谈论Linq到SQL,在那里我可以理解parsing查询,并使SQL会增加成本 – 对象提供者也有类似的成本? 如果是这样,如果你使用声明性或function性语法,它是不同的?

什么是WCF RIA服务?

我讨厌MSDN的网站WCF RIA服务。 它并不是说它是什么,它只是说它做了什么。 它说明了它可以达到的目标,但并不是说我为什么需要它。 例如: “开发n层RIA解决scheme时常见的问题是协调中间层和表示层之间的应用逻辑”。 那对我来说没有多大意义 “RIA Services通过提供框架组件,工具和服务来解决这个问题,使服务器上的应用程序逻辑可用于RIA客户端,而不需要您手动复制该编程逻辑。您可以创build一个RIA客户端来了解业务规则并且知道每次解决scheme重新编译时,客户端都会自动更新最新的中间层逻辑。“ 那么它从服务器下载DLL? 它是描述数据规则的元数据吗? 那是什么? 这仅仅是一个VS 2010加载项的RAD? 或者它是WCF之上或下面的技术? 它在哪里生活? 随着数据,与服务器,是什么? 我很感激,如果你能为我总结这个请。

有没有一个.NET相当于Apache Hadoop?

所以,我一直在关注Hadoop ,说实话我很着迷,事情并没有变得更酷。 我唯一的小问题是我是一个C#开发人员,它是在Java中。 这并不是说我不了解Java,就像我正在寻找包含Google MapReduce方法的Hadoop.net或NHadoop或.NET项目一样。 有人知道吗?

为什么在标准C ++库中不是int pow(int base,int exponent)?

我觉得我必须无法find它。 是否有任何理由的C + +幂函数不执行除了浮动和双打之外的任何东西的“电源”function? 我知道实现是微不足道的,我只是觉得我正在做一个标准库中的工作。 一个强大的function函数(即以某种一致的,明确的方式处理溢出)并不好玩。

如何使用LINQ获取序列中的最后一个元素?

假设我有一个序列。 IEnumerable<int> sequence = GetSequenceFromExpensiveSource(); // sequence now contains: 0,1,2,3,…,999999,1000000 获取序列并不便宜,并且是dynamic生成的,我只想遍历它一次。 我想得到0 – 999999(即最后一个元素除外) 我承认我可以做一些事情: sequence.Take(sequence.Count() – 1); 但是这导致在大序列上的两个枚举。 是否有一个LINQ结构,可以让我这样做: sequence.TakeAllButTheLastElement();