public class 类名
{
public string 变量1;
public string 变量2{set;get;}
}
这两种变量1和变量2的定义方法
有什么区别啊?

解决方案 »

  1.   

    public string 变量1; //这是变量,用户可以直接对它进行读写public string 变量2{set;get;}  //这是属性,用户对它的读写,是由你写代码来控件的
      

  2.   

    public string 变量2{set;get;}  
    C#3.0 属性的简写  
      

  3.   

    比如:public class Class1
    {
        public string str1;
        
        public string str2{ get; set; }
    }那么,你在别的地方使用这个类的时候,Class1 class1=new Class1();
    class1.str1="str"; //是指将str的值直接赋值给类的成员变量str1
    class1.str2="str"; //是指将str的值赋值给类的属性str2。
    public string str2{ get; set; }相当于以下代码private string s;
    public string str2
    {
        get { return str2; }
        set { str2 = vaue; }
    }这样做的好处很多,一是封装性,我们不能直接访问其变量。
    它通过get与set访问器来设置私有变量的值。少了一步转换,因为他对变量的操作,就是通过Get与Set访问器来进行的。
      

  4.   

    写错了,更正一下:private string s;
    public string str2
    {
        get { return s; }
        set { s = vaue; }
    }
      

  5.   

    lz写的:
    public class 类名 

    public string 变量1; 
    public string 变量2{set;get;} 
    } 两种本质上没有区别,
    但是,ms为了更好对属性进行控制.
    例如:
     在外部只能对其读不能修改 
    第一种方法无法实现.