M_ary  
本人热爱编程...更期待和谐的团队.. 有意者,请发送邮件与我.. wangkang198802@126.com


1) .Net Framework使用什么写的?
2) 理解函数:就是将一堆代码进行重用的一种方式。你只要给他提供一种必要的数据,  然后,当它执行完毕后,获取它的返回值即可。
      2 每个函数就是一个小的城堡,内部的东西,外面不能获取。  

      3 自己能确定的数据,自己内部确定,自己确定不了的那就通过参数决定。
3)关于函数的重载
       1 要求同名的函数的签名(参数类型,参数个数)不能一致  

     2 只有其参数的类型和顺序不一致才能overload,与返回值无关。
4) 可变参数,(params int[] i)    

    1 就是调用该函数时,可以传递int类型的多个参数,但该函数会将该函数的这些参数   进行拼接成一个数组。  

    2 个数不确定的可变参数,一数组的形式进行传递。  

    3 可变参数一定要是所有参数中的最后一个。
5)C#4.0的新特性,可以有默认参数
     1 当然此种功能可以用函数的重载来实现。
6)ref参数(拷贝参数)
     1 swap(ref i1,ref i2)  //传递的时候不是复制品,就是该对象  

     2 使用ref的变量在传递前,必须为其赋值,初始化,因为函数内部会用它。
7)out 参数
     1 使用out参数,不需要初始化,因为是内部为外部赋值  

    2 用在函数有多个返回值的地方  

    3 自己手写int.TryParse           

      static bool TryParse(string snum, out int inum)        

      {          

         try          

         {                i

          num = Convert.ToInt32(snum);                

          return true;            

        }  catch (Exception ex)          

         {        Console.WriteLine(ex.ToString());              

             inum = 0;                

            return false;          

         }                  

        }
8)关于string
       1 s="";和string.Empty是等效的  

     2 string.IsNullOrEmpty(str);和if(str==null||str=="")是等效的  

     3 s1="";s2=" ";是不一样的前者的长度为0,后者的长度则不是  

     4 字符串的不可变性,所以只能通过索引来读取制定位置的字符,要想修改只能对    

      toCharArray();后的字符修改后,在New一个新的string。但是原先的那个字符串没有发生任何变化,因为字符串是不可变的。  

     5 s.Trim();  s.Equals();  string.Format();  string.IsNullOrEmpty();    

      string.Join("|",strs); str.Split('|');  str.Substring() ;  

      str.Replace(,);  str.Contains();  str.StartsWith();  str.EndsWith();     str.IndexOf();
9)关于ASCII码
  1  char c = 'a';  

      int i = c; //得到字符c的ASCII  

 2  int j='a' + 'c'; //当有运算时,会自动变为ASCII  

 3  char b =(char)('a' - 'A');  //记得要强制类型转换

10)变量的作用域   

   1 变量用的时候再声明更好,因为可以更快的释放内存  

11)  关于值传递和应用传递

  1 值类型是传递拷贝,因为基础类型不占内存。  

  2 引用类型是传递引用,因为对象比较占内存。  

  3 对于引用传递,传递的是引用,所以...    

    static void ChangeString(ref string s1,ref string s2)          

    {      

          string temp = s1;   //一定要使用ref,才能起到拷贝的效果          

           s1 = s2;          

           s2 = temp;      

     }  

  4 同样的引用传递,同样的修改了指向对象的值,但是有不同的效果      

     static void ChangeString(string s1)      

        {            

     s1 = "2222";   //注意字符串的不可变性        

   }      

     static void ChangeStringPerson(Person p1)        

   {            

           p1.age= 22;    //修改了指向对象的值      

         }

posted on 2011-06-07 12:59  M_ary  阅读(207)  评论(0)    收藏  举报