1.get,set不是什么函数当中的,你仔细看看,比如下面这个
public bool isLogin
{
    set
    {
       xxx = value;
    }
    get
    {
       return xxx;
    }
}
isLogin后面没有“()”
这东西一般来说是给其他的窗体(线程……)使用的,比如我举的这个例子,在Login成功后,把一个bool类型的变量xxx设置为true,当MainForm使用Login.isLogin的时候其实就是叫Login窗体将xxx的值给他;set就类似了,比如Login.isLogin = false;2. ToString3.我也不知道,同wait4.参见.NetFramework SDK 文档(安装VS.Net后就有了,记得安装的时候选上就是了)

解决方案 »

  1.   

    1.string strA
      {
         get
         {
            return _strA;
          }
         set 
          {
              _strA=value;
          }
       }
    _strA=value是指当我们给属性strA赋值的时候,同时把这个值(value)赋给变量_strA;
    也就是说我们在对属性strA赋值的时候就执行set里面的语句,他可以是任何语句;
    例如,可以这样写:
        set
          {
             _strA=value;
             string _strB=_strA;
             string _strC=_strA;
           }
    2.int float转为string是隐式转换的,不需要刻意去转换
    例:
       int A;
       float B;
       string C=A+B;
    字符串转为整型可以这样写
       A=int.parse(C);
    3.索引是为了我们能准确的找到数据,我不太清楚你指的是什么索引
    4.我想你指的托管是指使用sourcesafe吧。
      

  2.   

    我写了一个小例子,不知道能不能够说明问题
    indexer 给了你不少的灵活性,就像可以overload 的 property
    class IndexerSample
    {
      private KeyDataPair[] pairArray;  public IndexerSample(int count)
      {
        pairArray = new KeyDataPair[count];
        
        for(int i=0; i<count; i++)
          pairArray[i] = new KeyDataPair(i.ToString(), (i*10).ToString());
      }   public KeyDataPair this[int i]
      {
         get
         {
            if(i<0 || i>=this.pairArray.Length) throw new ArgumentException();        return this.pairArray[i];
          }
       }   public KeyDataPair this[string key]
       {
         get
         {
            foreach(KeyDataPair obj in this.pairArray)
              if(obj.key==key)
                return obj;        return null;
          }
       }
    }struct KeyDataPair
    {
      public string key;
      public string data;  public KeyDataPair(string key, string data)
      {
         this.key = key;
         this.data = data;
      }
    }
      

  3.   

    时间关系,我没有implement setter
      

  4.   

    托管代码 
    在与公共语言运行库的“合作协定”下运行的代码。托管代码必须提供运行库所需要的元数据,以提供诸如内存管理、跨语言集成、代码访问安全性以及对象生存期的自动控制等各种服务。所有基于 Microsoft 中间语言 (MSIL) 的代码都作为托管代码执行。请参阅:Microsoft 中间语言 (MSIL)
    非托管代码 
    不考虑公共语言运行库的约定和要求而创建的代码。非托管代码在只有最少的服务(例如,无垃圾回收、有限的调试等等)的公共语言运行库环境中执行。
      

  5.   

    1。因为xxx=value,在C#中value就是一个临时变量.C#只默认value为临时变量,所以要这么写。
    2。用ToString()方法。
    3。索引器可以理解为数组。
      

  6.   

    属性是为了更具有封装性....
        get,set 只是对属性的一中约定写法...
        是分别实现读和写...
      

  7.   

    1.据我理解函数里的get{}是读属性,set{}是写属性.get和set在一起就是读写了;
    理解对不对?但到现在都没闹明白在set中XXXX=value;为什么要这么写?
       理解正确。XXXX=value表示把类中的字段XXX设置为你运行时所给的值。约定写法。2.在C#中把数字(int)格式,浮点(float)格式..怎么化为字符(string)格式?
       int i; i.ToString();  float f; f.ToString();3.索引器是不是就像数组差不多.string Str[2]={"apex","chu"} 即Str[1]="chu";
    索引器和这差不多对吗?或是怎样理解?
       理解正确。索引器只是把传统下标的概念作了进一步扩展。可用到控件上,如:
    foreach (Control ctrl in Controls),用到数据库上: foreach (DataRow dr in DataRows)....4.托管代码和非托管的区别在那里?什么叫托管?什么叫非托管?
       托管代码:你写的代码,有关内存资源释放,变量初始化等都交由编译器去搞定。非托管要由你自己硬编码搞定。