大小“String”和属性声明
大小“String”和属性声明有什么不同呢,如下:
1、大小“String”:
public String Label
public string Label
问题一:大写“String”和小写“string”有什么不同呢?
2、属性声明
(1)直接“get”和“set”。
public string Label
{
get;
set;
}
(2)用“_”
String _label;
public String Label
{
get
{
return _label;
}
set
{
_label = value;
}
}
问题二:这两种方式有什么不同呢?用“_label”有什么好处?
------解决方案--------------------String类表示一系列不可变的字符。
String 的实例被称为是“不可变的”,这是由于一旦创建它就无法修改它的值。看似能修改 String 的方法实际上只是返回一个包含修改内容的新 String。如果需要实际修改类似字符串的对象的内容,则需使用 System.Text.StringBuilder 类。
该类实现 IComparable、ICloneable、IConvertible 和 IEnumerable 接口
而string 类型表示一个 Unicode 字符的字符串。string 是 .NET 框架中 System.String 的别名。string也是C#关键字。
在用法上:
string可用 @ 开头,并用双引号引起来。例,@"good morning",称作“逐字符字符串”,即不处理'\n','\t'等符号。
------解决方案--------------------1. string是c#中的类,String是.net Framework的类; c# string映射为.net Framework的String,你可以把它们当成是一样的,只是两种写法。
2. 这是一种命名规范,通常用下划线'_'开头的代表私有变量。
------解决方案--------------------一个是类,一个是关键字!
------解决方案--------------------1:
没有区别,小写的是传承于C++?保留习惯用的,大写的正统,本人有轻微强迫症,一般都用大写的
2:
没有区别,但是(2)的写法比较建议,因为你在class内部修改值的时候,用_label 更好。
典型的好处是,你查找调用该属性的地方的时候,可以区分内外
------解决方案--------------------简单地说,(1)(2)作用都是一样的。
(1)string这种写法更好,和其他语言以及其他关键字统一起来。
(2)一般地,C# 3.0以后使用自动属性的写法。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------其实我倒觉得你把set方法都写了,就没必要在定义一个字段了
要是没有set方法,为了封装,定义一个私有变量是挺好的
------解决方案--------------------(1) 没区别,也没什么好说的
(2) 属性的变量一般声明的都是private '_'开头为private 推荐这样使用,或者直接声明private的变量