Tag: 语法

迭代枚举?

我正在尝试迭代枚举,并使用其每个值作为参数调用方法。 必须有一个比我现在更好的方法来做到这一点: foreach (string gameObjectType in Enum.GetNames(typeof(GameObjectType))) { GameObjectType kind = (GameObjectType) Enum.Parse(typeof (GameObjectType), gameObjectType); IDictionary gameObjectData = PersistentUtils.LoadGameObject(kind, persistentState); } //… public static IDictionary LoadGameObject(GameObjectType gameObjectType, IPersistentState persistentState) { /* … */ } 将枚举名称作为字符串,然后将它们解析回枚举,感觉很可怕。

如何将列表的内容放在单个MessageBox中?

基本上,我有一个包含多个项目的列表,我想要一个消息框来显示它们。 我最接近的是每个项目的消息框(使用foreach )。 我想要的是相当于: MessageBox.Show (“List contains:”+ Foreach (string str in list) { str + Environment.Newline + } ) 但显然这不起作用! 这样做的正确方法是什么?

没有语法C的语音识别API#

我正在开发一个程序,99%的时间我可以在标准的Microsoft语音识别中使用一组语法来检测所说的单词。 但是在一些情况下,我需要用户说些什么。 这永远不会是可预测的。 那么有没有办法用MS语音识别来做到这一点? 还有其他任何语音识别API(免费),可以处理非预设单词吗?

Main(字符串args)的入口点错误?

使用系统; 使用System.Collections.Generic; 使用System.Text; namespace MyConApp { class Program { static void Main(string[] args) { string[] tmpString; tmpString = args; Console.WriteLine(“Hello” + tmpString[0].ToString()); } } } 为什么下面的表达式显示编译错误消息“不包含适用于入口点的静态’Main’方法” namespace MyConApp { class Program { static void Main(string args) { string tmpString; tmpString = args; Console.WriteLine(“Hello” + tmpString); } } } 谢谢。

C#变量初始化与赋值

在我发现的一本书中(翻译): 初始化意味着在声明时分配变量的值。 int X=5称为初始化命令。 编辑:它只是说,只有在声明时分配值时才使用术语初始化。 如果你以后这样做,那就是它的正当分配(根据它 – 我不这么认为,这就是我要问的原因)。 这是真的吗? 好吧,我一直认为(并且根据网上的其他人的说法)关于首先将值赋值给变量的初始化。 我认为int X=5只是赋值作为声明的一部分。 我试图在MSDN上搜索没有运气。 感谢您提供任何信息。

在while循环的条件之后放置分号会发生什么?

我偶然遇到过这样的情况: while (true) { while (age == 5); //What does this semi-colon indicate? //Code //Code //Code } while(true)表示这是一个无限循环,但我无法理解while条件完成后的分号是什么,是不是等于这个?: while (age == 5) { } //Code //Code 换句话说,它是否意味着while循环是无用的,因为它永远不会进入块?

C#中是否存在“匿名”通用标记,如“?” 在Java?

在Java中,可以声明一个由“未知”generics类型参数化的变量,如下所示: Foo x; 在C#中,这个问号是否有一个等价的结构?

C#Object Initialiser – 对新实例的引用

我可以以某种方式获得对使用对象初始化器创建的实例的引用 var x = new TestClass { Id = 1, SomeProperty = SomeMethod(this) } “this”应该指向我正在创建的新TestClass实例。 但它显然是指代码所在的类的实例。 我不是在问这是否是一个很好的方法。 我知道我可以这样做: var x = new TestClass {Id= x}; x.SomeProperty = SomeMethod(this); 我有一个复杂的场景,在对象初始化器中引用新实例会使生活更轻松。 这有可能吗?

这是什么? 是什么意思?

可能重复: 一个好奇的c#语法 所以我看到了一些代码,其中一些使用了? 在类型之后,像这样: private Point? loc = null; 所以我想知道Point? 与Point不同(不能在我的句子末尾加上问号或者我会让你们混淆……:])。 我使用的语言就是C#。

内联属性初始化和尾随逗号

void Main() { Test t = new Test { A = “a”, B = “b”, // <– erroneous trailing comma }; } public class Test { public string A { get; set; } public string B { get; set; } } 我在代码中发现了上述错字很多。 我总是很惊讶编译器似乎并不关心这一点。 为什么以上不是语法错误? 它真的有用吗?