黑马程序员--学习C#基础2

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

从29号开始近3天以来的学习笔记

7月29号
(1)for循环
     格式 for(初始条件;判断条件;用来改变条件){执行语句; } 三个语句执行顺序 第一个 判断一下 执行{}里边的语句 在回过来执行i++
     for(;;)循环 三部分都可以省略
(2)类型 转换  
     格式 变量=(类型)变量
     取类型的最大值  类型.MaxValue  取最小值 类型.MinValue
     隐式转换:可以直接转换一定能满足的  
     显示转换 不一定能一定满足的需要程序员来强制转换 i=(类型)i1;程序有可能错误但不报错 例如 int i=2000; byteb=3; b=(byte)i; 结果为208 但不报错
     string类型不可以转换成int类型  只能用 Convert.ToInt32();
     存储空间大的类型不能直接转换存储成空间小得类型 否则出错
(3)枚举类型
   格式 enum  名字{类别,类别1,...} 声明时 为 名字.类别 使程序用起来更方便, 暂时还理解不透啊 注意{}里边是, 不是;
(4)数组
     格式 类型[] 变量名={内容1,内容2,内容3,....};  
     变量名.length 获取数组长度 数组从0开始 变量名{0}访问数组第一个数
     length 与最后一个数的序号 相差一
7 月30号
(1) 数组1
      C#中数组的长度是确定的,不像其他语言
      静态声明数组 int[] value  动态声明数组 int[] value=new int[5]; string[] name={23,345,5,2}; string[]value=new string[name.length]
       数组交换顺序
            int [] value = { 1,2,3,4,5,6,7,8,9,10};
            int i = 0;
            for (int j = 0; j < value.Length / 2;j++ ) 
            {
                 i = value[value.Length - j - 1];
                value[value.Length-j-1]=value[j];
                value[j] = i;
            }
            Console.WriteLine("反过来的顺序为");
            for (int j = 0; j < value.Length; j++) 
            {
                Console.WriteLine(value[j]);
            }
            Console.ReadKey();
       感想
       做程序时尽量多想少出现bug 例如 数组时的注意数组的长度用法  数组序号从0开始 所以长多是最后一个数序号+1
       {  } 的 一个作用  规定声明变量常量 的作用域


(2)C#中foreach  独有的语法
      string[] names={"hahha","dd","dd"};
      foreach(string names in name)
7月31号
(1)函数
      C#中 声明函数后边必须有() 如 staic 类型  函数名(){ }  调用 类型 变量名= 函数名();
      返回的数据类型要与声明函数的类型一样 有的有返回值有的没有返回值
      函数的参数 实参 形参  
 (2)变量名字小写开头后边每个单词开头大写 如int -MaxNum ;  函数类的名字大写开头 static void Sum(){}
 (3)  利用函数字符串分割 自己的方法 
        static void Main(string[] args)
        {
            string[] values = { "Tom", "Join", "Lily", "Lucy" };
              Join(values,"|");
              Console.ReadKey();
        }
        static void Join(string [] values,string qieGeXian) 
        {
            for (int i = 0; i < values.Length-1;i++ ) 
            {
                Console.Write(values[i]);
                if(i<values.Length-2)
                Console.Write(qieGeXian);
            }
        
        }
     第二种方法    static void Main(string[] args)
        {
            string[] value = {"Tom","Nike","Lily","Lucy","Jack" };
            Console.WriteLine(Jion(value,"|"));
            Console.ReadKey();
        }
        static string Jion(string[] valus, string geXian) 
        {
            string all="";
            for (int i = 0; i < valus.Length-1;i++ ) 
            {
                all = all + valus[i]+geXian;
            }
            if (valus.Length > 0)
            {
                return all = all + valus[valus.Length - 1];
            }
            else
                return "cuowu";
        }
(4)C#中可变参数方法  static void  Kebian(parms string[]valus) 可变参数和非可变参数可以混用  可变参数必须在所有参数后边
(5)函数重载
     函数要一致 参数必须不同 函数能否重载取决于参数的类型 如其他无关
(6)字符串 
     char 只能是一个字符
     C#中字符串中有几个字符长度就是几 C语言中不一样还要最后加一个“1 \0”
     字符串 只可以读 但不能写 string可以看成字符数组但不是字符数组 要想修改(原来的不变)只能利用 string si="hello"  s1.ToCharArray()//变成字符数组类型 (相当于复制了一份)
     string s="hello" s1="yello"  正确 因为s指向hello 当s1时又指向了 yello  相当于c#中的指针
(7)string 常用函数 ()
     ToLower 转换成小写 ToUpper() Trim()去掉两边的空白(空格或回车等空白) 中间的不管,同样是不改变原来需要一个变量来接受返回值 
     bool a="abc"Equals("ABC",StringComparation.OrdinalIgnoraCase)  表示忽略大小写比较  Ignore 忽略 Case大小写
     字符串分割 s1.split('按照什么来分隔')  必须要单引号‘’ 因为split只接受char类型的 如果要接受字符串参数是必为s1.split(new String[]{",",StringSplitOptions.RemoveEmptyEntries});  不接受可变参数 
     split 去掉空白 s1.split(new char[]{',',StringSplitOptions.RemoveEmptyEntries});
     字符串 替换s=s.Replace("被替换","替换");
     SubString(数字) 从字符串中取子字符串 从字符串中第(数字)开始 Substring(数字,数字) 第二个参数是截取多长而不是结束位置
     bool s.contains(string values) 判断是否含有子字符串values
     bool s.StarWith(string values) 判断是否以字符串 values开头 
     bool s.EndWith(string values) 判断是否已value结尾 
     int num= s.IndexOf(string values) 取 values在字符s中首次出现的位置


---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------详细请查看:http://net.itheima.com/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值