C# 学习笔记

本文介绍了 C# 中的一些高级编程技巧,包括占位符字符串格式化、类型转换、逻辑短路评估、参数显式指定、数组操作、交错数组使用、可变参数 (params) 的应用、以及 out 和 ref 参数的区别。
一,{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只能读不能修改 要修改用for
foreach(int i in arr)
{ 
      console.writeline(i) 
}
arr.length //取得无素的个数 本例值为15
arr.getlength(1)  //取得维度的值 本例为值5 
arr.rank //取得维数

 
六,交错数组
int[][] arry=new int[3][] //一维交错数组
arry.rank  //1
arr.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];
        }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值