Tag: C#的

整数的最大值

在C中,整数(对于32位机器)是32位,范围从-32768到+32767。 在Java中,整数也是32位,但范围从-2,147,483,648到+2,147,483,647。 我不明白Java中的范围是如何不同的,即使位数是相同的。 有人可以解释这个吗?

C指针:指向一个固定大小的数组

这个问题出在那里的C大师: 在C中,可以像下面这样声明一个指针: char (* p)[10]; ..基本上说这个指针指向一个10个字符的数组。 关于声明一个像这样的指针的整洁的事情是,如果您尝试将一个不同大小的数组的指针指定给p,您将会遇到编译时错误。 如果您尝试将简单字符指针的值赋给p,它也会给您一个编译时错误。 我用gcc试过,它似乎与ANSI,C89和C99一起工作。 在我看来像声明这样的指针将是非常有用的 – 特别是,当传递一个指针函数。 通常,人们会这样写这样一个函数的原型: void foo(char * p, int plen); 如果你期待一个特定大小的缓冲区,你可以简单地testingplen的值。 但是,不能保证传递给你的人真的会给你缓冲区中有效的内存位置。 你必须相信调用这个函数的人是正确的。 另一方面: void foo(char (*p)[10]); ..将强制调用者给你一个指定大小的缓冲区。 这看起来非常有用,但是我从来没有在任何代码中看到过像这样的指针。 我的问题是:有什么理由为什么人们不要这样的指针? 我没有看到一些明显的陷阱?

你如何printf一个无符号的long long int(unsigned long long int的格式说明符)?

#include <stdio.h> int main() { unsigned long long int num = 285212672; //FYI: fits in 29 bits int normalInt = 5; printf("My number is %d bytes wide and its value is %ul. A normal number is %d.\n", sizeof(num), num, normalInt); return 0; } 输出: My number is 8 bytes wide and its value is 285212672l. […]

entity framework代码是否首先支持存储过程?

我观看了EF Code First的几个演示文稿,并没有看到EFCF如何与存储过程一起工作。 我怎样才能声明一个方法,将使用一些sp? 我可以将实体传递给调用sp的方法,而无需手动将实体属性映射到sp参数? 另外,如果我改变我的模型会发生什么? 在从模型中重新创build表格的时候,它会掉下我的sp吗? 那触发器呢? 如果这些东西不被支持,将来有没有计划支持他们?

ASP.NET MVC含糊不清的操作方法

我有两个冲突的行动方法。 基本上,我希望能够使用两个不同的路线,通过一个项目的ID或项目的名称和它的父母(项目可以有不同的父母相同的名称)的相同的看法。 search项可以用来过滤列表。 例如… Items/{action}/ParentName/ItemName Items/{action}/1234-4321-1234-4321 这里是我的操作方法(也有Remove操作方法)… // Method #1 public ActionResult Assign(string parentName, string itemName) { // Logic to retrieve item's ID here… string itemId = …; return RedirectToAction("Assign", "Items", new { itemId }); } // Method #2 public ActionResult Assign(string itemId, string searchTerm, int? page) { … } 这里是路线… routes.MapRoute("AssignRemove", "Items/{action}/{itemId}", new { […]

寻求澄清弱types语言的明显矛盾

我认为我理解强打字 ,但每次我寻找什么是弱打字的例子,我最终find了编程语言的例子,只是强迫/自动转换types。 例如,在这个名为Typing:Strong vs. Weak的文章中,Static和Dynamic表示Python是强types的,因为如果您尝试: python 1 + "1" Traceback (most recent call last): File "", line 1, in ? TypeError: unsupported operand type(s) for +: 'int' and 'str' 但是,Java和C#中可能会出现这种情况,我们并不认为它们的input很弱。 Java的 int a = 10; String b = "b"; String result = a + b; System.out.println(result); C# int a = 10; string b = "b"; […]

精确的时间测量性能testing

什么是最确切的方式来看一些东西,例如方法调用,代码? 最容易和最快的我猜想是这样的: DateTime start = DateTime.Now; { // Do some work } TimeSpan timeItTook = DateTime.Now – start; 但是这个确实如此呢? 有更好的方法吗?

Java相当于#地区在C#

我想在Eclipse中使用区域进行代码折叠; 这怎么可以在Java中完成? C#中的示例用法 #region name //code #endregion

什么是什么时候应该使用它?

我发现有些类使用[Serializable]属性。 它是什么? 我应该什么时候使用它? 我会得到什么样的好处?

获得std :: vector迭代器索引的最有效方法是什么?

我遍历一个向量,并需要迭代器当前指向的索引。 AFAIK这可以通过两种方式完成: it – vec.begin() std::distance(vec.begin(), it) 这些方法的优缺点是什么?