我发现你可以用C#中的'@'字符开始你的变量名.在我的C#项目中,我使用的是用Java编写的Web服务(我添加了对我的项目的Web引用).WSDL中定义的一个接口对象有一个名为"params"的成员变量.显然,这是C#中的保留字,因此您不能拥有名为"params"的成员变量的类.生成的代理对象包含一个如下所示的属性:
public ArrayList @params {
get { return this.paramsField; }
set { this.paramsField = value; }
}
Run Code Online (Sandbox Code Playgroud)
我搜索了VS 2008 c#文档,但找不到任何相关信息.搜索谷歌也没有给我任何有用的答案.那么变量/属性名称中'@'字符的确切含义或用法是什么?
我在Project Euler(顺便说一句很棒的网站)上遇到了第10个问题的奇怪经历.任务是计算低于200万的所有素数之和.
我使用了一个int作为总和,我的算法产生了答案,但是当我粘贴它来验证答案时,它是错误的.
结果是结果太大而不适合int,但这不会导致溢出错误或其他什么?相反,它只返回了一个远离真实答案的值.
当我把类型改为long时,一切都很笨拙.
可能重复:
循环功能结果时foreach如何工作?
如果我具有以下功能 - 将在foreach循环中为每次迭代调用ReturnParts(),还是只调用一次?
private void PrintParts()
{
foreach(string part in ReturnParts())
{
// Do Something or other.
}
}
private string[] ReturnParts()
{
// Build up and return an array.
}
Run Code Online (Sandbox Code Playgroud)