初学C#,总结出的与C++部分不同点

using System;//展开命名空间

class Hf
{
    enum role
    {
        huang,
        zhang,
        huawei
    }

    //委托的声明:关键字delegate + 返回类型 + 名字 + 参数列表 + 英文分号
    delegate int dg(int a, int b);

    static void Main(string[] arg)
    {
        //一、
        int a1 = 1, b1 = 2;
        Console.WriteLine("abc" + a1 + b1);//结果是abc12,因为是字符串abc先与变量a连接,再与变量b连接
        Console.WriteLine("abc" + (a1 + b1));//结果是abc3,因为有括号,先算括号

        //二、在前面加个@符号,转义字符\就会失去转义效果,并且此时字符串可以占用多行
        string a2 = @"\t\a";
        Console.WriteLine(@"\t\a\\");
        Console.WriteLine(@"\t\aaaaaaa
                                        a\\");
        //此时字符串中需要两个"符号代表一个"符号
        Console.WriteLine(@"\t\aaaaaaa  ""
                                        a\\");

        //三、C#不能用小类型给大类型赋值,这时可以强制转换
        int a3 = 97;
        char b3 = (char)a3;
        Console.WriteLine(b3);

        //四、给字符串赋值时,用"+"进行字符串连接
        string a4 = "123" + "123";
        string b4 = a4 + "123";
        string c4 = a4 + b4;
        //在C++中"123"是const char*类型,所以不能进行a2的计算,但可以进行a3和a4的计算(string+const char*)(string+string)

        //五、从控制台中获取一排数据
        string a5 = Console.ReadLine();//返回值为字符串

        //六、将数字字符串转化整数(32位)
        string str1 = "123";
        int tmp = Convert.ToInt32(str1);

        //六、字符串格式化输出
        int a6 = 0, b6 = 1;
        Console.WriteLine("{0}+{1}={2}", a6, b6, a6 + b6);//有一个对应的号位(从0号位开始),取相应的值

        //七、C#支持的所有逻辑运算符
        //逻辑与&&   逻辑或||   逻辑非!

        //八、随机数的生成
        Random rd = new Random();//随机数种子
        //伪随机
        rd.Next(1, 10);//用一系列算法生成1,9的随机数(左闭右开),因为是用算法生成的,所以叫伪随机

        //九、其他类型转为字符串
        string str11 = 123 + "";//数字+任意字符串得到一个字符串
        string str12 = Convert.ToString(123);//使用函数

        //十、
        //去除前后的空格方法Trim()
        //只去除前面的空格TrimStart()
        //只去除后面的空格TrimEnd()

        //十一、字符串分割Split()
        string str14 = "zhang,huang,chen";
        string[] strArray = str14.Split(',');
        foreach (string str in strArray)
        {
            Console.WriteLine(str);
        }

        //十二、参数数组:(注意如果有多个参数时,参数数组必须放在最后一个位置)
        //普通数组作为参数时,我们传参需要传一个数组
        static void test1(int[] arr)
        {

        }
        int[] arr = { 1, 2, 3, 4 };
        test1(arr);
        //但参数数组可以传一串数字,然后编译器自动为我们创建一个数组
        static void test2(params int[] arr)//在参数前面加一个params,就成为参数数组
        {

        }
        test2(1, 2, 3, 4);//可以传任意一组数字

        //枚举的声明定义与使用
        role rl = role.huang;

        //委托(delegate):用于指向与委托自己的返回值和参数列表相同的函数引用,此时就可以将委托变量当做一个函数来使用
        
        static int test6(int a1,int a2)
        {
            return a1 * a2;
        }
        //委托的声明:关键字delegate + 返回类型 + 名字 + 参数列表 + 英文分号
        //委托的使用
        dg myDg = test6;
        Console.WriteLine(myDg(1, 2));
    }
}

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

成工小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值