C# 学习笔记

来源:互联网 发布:淘宝网购鞋柜 编辑:程序博客网 时间:2024/06/03 17:48
一,{0} 占位符  console.writeline("this is a {0}",67)
二,类型自动转换 parse convert  convert内部也是调用parse来实现的不同的是convert在调用前有判断是否为null 如果为空则赋值为0
三, 逻辑短路
int a = 2;if( a++ > 2 && ++a > 2 ){}if( a++ < 2 || ++a > 2){}//a的值为5
四,显示指定传入参数
 
 static void Test1(string str, int i2, bool b)        {                    }Test1(str:"x",b:true,i2:45);

五,数组
int[,] arr=new int[3,5]//用foreach遍历  foreach只能读不能修改 要修改用forforeach(int i in arr){       console.writeline(i) }arr.length //取得无素的个数 本例值为15arr.getlength(1)  //取得维度的值 本例为值5 arr.rank //取得维数

 
六,交错数组
int[][] arry=new int[3][] //一维交错数组arry.rank  //1arr.length//3//遍历foreach(int[] item in arr){       foreach(int i in item)       {            console.writeline(i);       }}
//交错数组. 交错数组的本质是1个1维数组 只不过这个1维数组的元素又是数组,.            int[][] arr = new int[3][];            arr[0] = new int[3];            arr[1] = new int[5];            arr[2] = new int[4];            Console.WriteLine(arr.Rank);            Console.WriteLine(arr.Length);

七, params
//可变参数 参数被params修饰 params只能用来修饰1维数组        //给可变参数赋值的时候 可以直接传递数组的元素.        //在调用的时候 会自动的将这些元素封装为1个数组 并将数组传递.static void TestParams(int i, int j, params int[] arr)        {        } 

 

 

八,out ref
//out侧重于输出 ref侧重于修改. //out在传递之前可以不赋初始值 因为在方法中肯定会为out赋值.//ref 在传递之前必须要有值 因为在方法中有可能会用到这个参数的值.static void TestRef(ref int i)        {            i = i + 1;                   }int i=11;TestRef(ref i) //i=12 非11  只要加了ref 就只传地址// 冒泡算法  //max min  可以不用赋初始值 因为在方法中肯定会为out赋值        static void GetMaxAndMin(int[] arr, out int max, out int min)        {             for (int i = 0; i < arr.Length - 1; i++)            {                for (int j = 0; j < arr.Length - 1 - i; j++)                {                    if (arr[j] > arr[j + 1])                    {                        int temp = arr[j];                        arr[j] = arr[j + 1];                        arr[j + 1] = temp;                    }                }            }            max = arr[arr.Length - 1];            min = arr[0];        }


0 0