Tag: 语法

不必要的花括号会降低性能吗?

在编程之后最近遇到这个问题,我一直在想这个。 以下是两个合法和编译的片段。 具体来说,我的问题是这个..在第二种情况下,括号是否使程序变慢? 为什么允许这样做呢? 第一例: if (statement) { // do something } 第二个案例: { if (statement) { // do something } } 另外如果我有类似下面的代码的话。运行时是否与调用函数X相同而没有任何大括号。 { { { // call function X } } }

可以在C#中缩短数学参考吗?

在VB.NET中,我可以通过导入System.Math并直接引用其方法来使我的数学代码更加清晰: Imports System.Math […] Return New Vector3(Sin(az) * Cos(el), Cos(az) * Cos(el), Sin(el)) 但是我不认为C#可以使用类来隐式访问它们的方法,所以我必须做类似的事情: using System; […] return new Vector3(Math.Sin(az) * Math.Cos(el), Math.Cos(az) * Math.Cos(el), Math.Sin(el)); 但那很难看; 它需要自己的滚动条! 有没有办法在C#中编写一些看起来像我的VB.NET代码的东西? 我可以为Sin和Cos编写局部包装器方法,但这不会降低性能(因为函数调用的开销)? 而且,这需要为我正在使用的每个类中使用的每个Math函数编写包装函数; 这也不是那么令人满意。

为什么这个c#片段合法?

愚蠢的问题,但为什么以下行编译? int[] i = new int[] {1,}; 如您所见,我没有进入第二个元素并在那里留下逗号。 即使你不期望它仍然编译。

如何在代码中编写JSON字符串值?

我想将以下字符串存储在String变量中 { “ID”: “123”, “DateOfRegistration”: “2012-10-21T00:00:00 + 05:30”, “状态”:0} 这是我使用的代码.. String str=”{“Id”:”123″,”DateOfRegistration”:”2012-10-21T00:00:00+05:30″,”Status”:0}”; ..但它显示错误..

是否可以使用包含元素的ActionLink?

正如问题所说,是否可以使用包含元素的ActionLink,如果没有,实现它的最佳方法是什么? 例如,假设我有一个Span元素,我想要整个东西是一个超链接…以下工作: Click anywhere in this box 想象一下,span / css类box5使这个大…原来是一个DIV,但是,我发现没有遵循标准,这似乎遵循确定。 这呈现并且工作正常,但是,无论如何使用ActionLink代替? 我试图猜测语法,如(从表单复制): @using (Html.Actionlink){Click anywhere in this box} 没有任何运气的许多其他组合。 现在,我的手动HTML解决方法工作正常,我很高兴离开它,但是,是否可以使用MVC ActionLink,如果是,我是否应该担心/是否会有任何好处?

求和BigIntegers列表

我看了一遍,但无法弄清楚这一点。 你如何总结BigIntegers的列表? Using System.Numerics; Using System.Linq; List bigInts = new List(); BigInteger sum = bigInts.Sum(); // doesn’t work BigInteger sum = bigInts.Sum(); // doesn’t work BigInteger sum = bigInts.Sum(x => x); // doesn’t work 你必须这样做吗? BigInteger sum = new BigInteger(0); foreach(BigInteger bigint in bigInts) sum += bigint;

为什么C#允许这个有趣? ; ; ; ;

看我下面的代码 protected void Page_Load(object sender, EventArgs e) { ExistsOnPath(“efsui.exe”); ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; install(); ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; […]

C#代码允许有趣的语法,而且void方法也允许返回

大家好昨天我发了一个问题:像c#allow; ; ; ; ; ; ; ; ; ; ; ; ( C#空声明 ) 为什么C#允许这个有趣? ; ; ; ; 并找到答案: https : //stackoverflow.com/a/20551989/2218635 但今天我看到了另一个有趣的(bug) 见下图 为什么visual studio允许这个? 代码构建成功。 为什么要构建? 另外一个有趣的代码总是运行 private void install() { http://www.stackoverflow.com return; } 编辑 : 看上面的方法是一个void方法,我知道void方法不返回。 但为什么没有显示任何错误? 我没有为“ http://www.stackoverflow.com ”分配任何变量。但为什么它不给我一个错误?

方法/属性的属性和XML文档

当我想要一个方法/属性的属性和XML文档时 – 在方法/属性上面写入它们的正确顺序是什么? 这听起来很琐碎,但…… 如果我使用: /// /// Something here /// [MyAttribute] public void MyMethod() {} 构建成功并且ReSharper“很高兴”,但我没有看到IntelliSense for MyClass.MyMethod的文档。 我用的时候: [MyAttribute] /// /// Something here /// public void MyMethod() {} 构建成功但ReSharper有一个警告( XML注释没有放在有效的语言元素上 ),我仍然没有看到IntelliSense for MyClass.MyMethod的文档。 我搜索了互联网,只查看了没有文档的情况下使用属性的示例; 或没有属性的文档。 是否真的没有办法为同一个方法/属性提供属性和XML文档? 信息:WPF应用程序,.NET 4.0,C#。

干(不要重复自己)和如果分配

我想我忘记了一些明显的东西但是我似乎无法找到一种方法来分配一个值,如果它确认一个条件尽可能保持DRY …一些代码来解释我的意思… a = (b > 1) ? b : c; 甚至a = (a > 1) ? a : b; a = (a > 1) ? a : b; 所以当然这里没什么大不了的,但如果要用方法调用替换,(可能是那里的收益率返回)或其他什么,那么我就要调用它两次…… 我只看到将它存放在一个变量中,然后就像上面的代码一样…… 有什么好主意吗? 编辑以便更好地理解:假设我在xml文件中搜索一个值,使用空检查(?。?[])等等 string store_no = myXmlNode.SelectSingleNode(“aChildNode”)?.SelectSingleNode(“myNode”)?.Attributes?[“store_no]?.Value; 所以在这里我将它存储在一个变量中,以便我可以稍后测试它的值。 如果我想检查一个特定的store_no!我将不得不做类似的事情 store_no = (store_no==”STORE23”)? store_no : “unknown”; …是的,不确定这个例子是否足够明确,但这个想法就在这里; 我可能不想将数据存储在变量(例如巨大的数据块)中是否有办法获得相同的结果?