我对c#很新,但我每天都在学习更多。C#声明问题
我想知道以下手段:
private DataIdentifier dataIdentifier;
他们为什么要这样写?它的名字几乎相同,但在第一个单词中使用了大D。
我对c#很新,但我每天都在学习更多。C#声明问题
我想知道以下手段:
private DataIdentifier dataIdentifier;
他们为什么要这样写?它的名字几乎相同,但在第一个单词中使用了大D。
它只是另一种表示法。这真是一个愚蠢的变量名称。我不建议你遵循相同的约定。 DataIdentifier
是类/对象类型。 private
是访问修饰符。
这声明了类中的成员变量(即“字段”)。
private
是access modifier。它指定变量只能从类中访问。访问修饰符是可选的,默认为private
(但无论如何,它被认为是最好的实践)。
DataIdentifier
是变量的type(即,只有DataIdentifier
类的实例可以放入变量中)。
dataIdentifier
是变量的名称。当你想访问变量中保存的对象时,这就是你在代码中编写的内容。
注意:从技术上讲,对象实际上不是“在”变量中;该变量通常是指向实际存在对象的内存位置的指针(它“引用”对象)。
当你了解更多C#中,你会看到一个常见的成语,其中属性的名称是相同类型的名称:
public SpaceShip SpaceShip;
这是允许的,因为编译器是足够聪明到只需从上下文中在代码中输入SpaceShip
时知道您是指变量还是类本身。
好答案。然而,只有在当前类型中未定义'SpaceShip' *时,才会编译'Public SpaceShip SpaceShip'。 (变量/方法/属性不能共享带有封闭类型的名称 - 这只会让*太混乱!) – 2011-08-02 19:58:59
@pst:谢谢你,我没有意识到!不过,嵌套类型在实践中并不常见。 – Cameron
通常在我的代码中很常见:( – 2011-08-02 20:00:58
DataIndentifier
是一种类型。
dataIdentifier
是该类型字段的名称。
名称的相似性完全是巧合。
DataIdentifier
是类型(类或结构),dataIdentifer
是名称。
DataIdentifier是可变
dataIdentifier的类型是可变(它是类型DataIdentifier的)
C#是大小写敏感的名称。 DataIdentifier和dataIdentifier是两个不同的东西。
这里DataIdentifier是类型,dataIdentifier是变量。
在这种情况下,即使他们*是*相同的情况下,他们仍然*是指*两个不同的东西,只是基于* where *在语法生成中使用。 – 2011-08-02 19:53:26
private DataIdentifier dataIdentifier;
DataIdentifier
是类型而dataIdentifier
是声明类型的变量
喜欢
private int a;
其中int
是一种类型和a
是类型的变量int
It在私人DataIdentifier DataIdentifier;在许多情况下是有效的(第一个'DataIdentifier'是类型的,第二个是变量名,就像上面一样),这只是变得令人困惑...... – 2011-08-02 19:52:47
@ pst,是的,另外,这是一个'Camel case'类型的命名,还有另外一种我现在不记得的类型,我宁愿不用与类型名称相同的名称声明变量...以便消除混淆 – Rahul
DataIdentifier是UpperCase(或CapWords或...),而dataIdentifier是camelCase(不同之处在于如果第一个字符也是大写) – 2011-08-02 23:01:27
它可能对您有用,将示例与C#的实际grammar关联起来。
field-declaration: attributesopt field-modifiersopt type variable-declarators ; field-modifiers: field-modifier field-modifiers field-modifier field-modifier: new public protected internal private static readonly volatile variable-declarators: variable-declarator variable-declarators , variable-declarator variable-declarator: identifier identifier = variable-initializer variable-initializer: expression array-initializer
也许显示适用于考试的语法ple ... – 2011-08-02 19:57:54
这个问题已经回答过好几次,但我想,而不是推荐什么我认为是对C#的BEST入门书籍。即使你不喜欢学习书本知识,你会喜欢这一个:
退房的免费章节,如果你喜欢它,买到它。我保证你不会感到抱歉。希望能帮助到你。
DISCLAMER:我绝不隶属于欧莱礼或其任何附属...的;)
真的...我也喜欢'Head First'系列 – Rahul
我喜欢它更好地与拼写错误,让我想到一个模糊的小猫学习C# –