大小“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”有什么好处?

解决方案 »

  1.   

    String类表示一系列不可变的字符。   
       String    的实例被称为是“不可变的”,这是由于一旦创建它就无法修改它的值。看似能修改    String    的方法实际上只是返回一个包含修改内容的新    String。如果需要实际修改类似字符串的对象的内容,则需使用    System.Text.StringBuilder    类。   
       该类实现    IComparable、ICloneable、IConvertible    和    IEnumerable    接口   
        
       而string    类型表示一个    Unicode    字符的字符串。string    是    .NET    框架中    System.String    的别名。string也是C#关键字。   
       在用法上:   
       string可用    @    开头,并用双引号引起来。例,@"good    morning",称作“逐字符字符串”,即不处理'\n','\t'等符号。
      

  2.   

    1. string是c#中的类,String是.net Framework的类; c# string映射为.net Framework的String,你可以把它们当成是一样的,只是两种写法。2. 这是一种命名规范,通常用下划线'_'开头的代表私有变量。
      

  3.   

    1:
    没有区别,小写的是传承于C++?保留习惯用的,大写的正统,本人有轻微强迫症,一般都用大写的2:
    没有区别,但是(2)的写法比较建议,因为你在class内部修改值的时候,用_label 更好。
    典型的好处是,你查找调用该属性的地方的时候,可以区分内外
      

  4.   

    简单地说,(1)(2)作用都是一样的。(1)string这种写法更好,和其他语言以及其他关键字统一起来。
    (2)一般地,C# 3.0以后使用自动属性的写法。
      

  5.   


    mikebai兄弟的解释和想法正是我需要的,谢谢,借楼主问题来学习了
      

  6.   

    Jeffrey Richter推荐用类名而c#规范又推荐使用关键字。。
      

  7.   

    其实我倒觉得你把set方法都写了,就没必要在定义一个字段了
    要是没有set方法,为了封装,定义一个私有变量是挺好的
      

  8.   

    string是c#中的类,String是.net Framework的类; c# string映射为.net Framework的String,你可以把它们当成是一样的,只是两种写法。明白了
      

  9.   

    (1) 没区别,也没什么好说的
    (2) 属性的变量一般声明的都是private    '_'开头为private  推荐这样使用,或者直接声明private的变量
      

  10.   

    String是.Net  Framework中的写法。
    string是   C#中的写法