初学C#_2


上次举了个各个数据类型的例子,但没有说各个数据类型的表示范围,其实这个需要用到MaxValue和MinValue函数

例1:

using System;

class Program
{
    static void Main(string[] args)
    {
        /*下面给出各个数据类型所能表示的最大值和最小值*/
        //整数类型
        sbyte sbyteMax = sbyte.MaxValue, sbyteMin = sbyte.MinValue;
        byte byteMax = byte.MaxValue, byteMin = byte.MinValue;
        short shortMax = short.MaxValue, shortMin = short.MinValue;
        int intMax = int.MaxValue, intMin = int.MinValue;
        uint uintMax = uint.MaxValue, uintMin = uint.MinValue;
        long longMax = long.MaxValue, longMin = long.MinValue;
        ulong ulongMax = ulong.MaxValue, ulongMin = ulong.MinValue;

        //浮点数类型
        float floatMax = float.MaxValue, floatMin = float.MinValue;
        double doubleMax = double.MaxValue, doubleMin = double.MinValue;
        decimal decimalMax = decimal.MaxValue, decimalMin = decimal.MinValue;

        //字符型、布尔型及字符串型
        char charMax = char.MaxValue, charMin = char.MinValue;
        //bool b = false;                //布尔值只有true和false
        //string s = "还是初学者";       //只能表示字符串

        /*下面是对这些变量的值的输出*/
        Console.WriteLine("sbyte型变量最大表示分为为:{0}\n    最小表示范围为:{1}", sbyteMax, sbyteMin);
        Console.WriteLine("byte型变量最大表示分为为:{0}\n    最小表示范围为:{1}", byteMax, byteMin);
        Console.WriteLine("short型变量最大表示分为为:{0}\n    最小表示范围为:{1}", shortMax, shortMin);
        Console.WriteLine("int型变量最大表示分为为:{0}\n    最小表示范围为:{1}", intMax, intMin);
        Console.WriteLine("uint型变量最大表示分为为:{0}\n    最小表示范围为:{1}", uintMax, uintMin);
        Console.WriteLine("long型变量最大表示分为为:{0}\n    最小表示范围为:{1}", longMax, longMin);
        Console.WriteLine("ulong型变量最大表示分为为:{0}\n    最小表示范围为:{1}", ulongMax, ulongMin);
        /*输出变量,需先写{},里边的数字为正数,从0依次递增,类似于C中的%d、%f什么的,如下面这样,也是可以得*/
        Console.WriteLine("float型变量最大表示分为为:{0}\n    最小表示范围为:{1}", floatMax, floatMin);
        Console.WriteLine("double型变量最大表示分为为:{0}\n    最小表示范围为:{1}", doubleMax, doubleMin);
        Console.WriteLine("decimal型变量最大表示分为为:{0}\n    最小表示范围为:{1}", decimalMax, decimalMin);

        //Console.WriteLine("char型变量c = {0}", c);
        //Console.WriteLine("bool型变量b = {0}", b);
        //Console.WriteLine("string型变量s = {0}\n", s); //换行符\n还是可以用的,转义字符的用法差不多
        Console.ReadLine();
    }
}
输出结果为:


对于指数的表示,是差不多的,而十六进制数的输出,则略有不同

例2:

using System;

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("输出两个指数形式的数:\n1.392784E10f  \n1.392784e10f");
        Console.WriteLine("输出一个十六进制数:0x{0:x}", 64);
        Console.ReadLine();
    }
}

输出结果为:


string型变量是不可变的(我感觉这么说并不恰当),具体理由见下例

例3:

using System;

class Program
{
    static void Main(string[] args)
    {
        string str = "Hello";
        //通过.Length获取字符串的长度,和C中的strlen函数功能一样
        Console.WriteLine("字符串变量str中的字符串长度为:{0}\n", str.Length);
        /*
                    string st1;
                    st1 = Console.ReadLine();   
                    //string型变量的值是不可变的,即像这样,调用ToUpper函数,字符串中的字符不会变成大写
                    st1.ToUpper();
                    //这个函数是把字符串中的小写字母转化为大写字母
                    Console.WriteLine(st1);
        */
        //输出时会发现ss的内容会原样输出,而不会有所改变,其实可以这样做
        string st2, st3;
        Console.WriteLine("请输入一个字符串:");
        st2 = Console.ReadLine();
        st3 = st2.ToUpper();
        Console.WriteLine(st3);

        Console.WriteLine("人艰不拆!");

        Console.ReadLine();
    }
}

输出结果为:



下面说一些关于字符串的方法(方法即函数,注:这里说的是实例方法,即非静态方法),关于字符串的方法有很多,这里简单提上几个。

其实,在上个程序中已经使用了ToUpper方法,其它的还有ToLower、Replace、Trim等

还是举例说明

例4:

using System;

class Program
{
    static void Main(string[] args)
    {
        string str = "Hello";
        string strup = str.ToUpper();     //将字符串全部字母变为大写
        string strlo = strup.ToLower();   //将字符串全部字母变为小写
        Console.WriteLine(strup);
        Console.WriteLine(strlo);

        string str1 = "  start asd   ";
        string strtr = str1.Trim();       //移除字符串开头和结尾的whitespace(包括空格、制表符和回车)
        Console.WriteLine(strtr);

        string str2 = "@@222##";
        string strcp = "asd";
        strcp = string.Copy(str2);        //复制字符串,不多说,类似于C中的strcpy,这个就不一一对应的列举了
        Console.WriteLine(strcp);

        string str3 = "睡觉whitespaceaaa";
        string strrep = str3.Replace('a', 's');     //在该字符串中,用后面的字符取代前面的字符
        string strrep2 = str3.Replace("aaa", "asd");//在该字符串中,用后面的字符串取代前面的字符串
        string strrep3 = str3.Replace("睡觉", "天很晚了,");
        Console.WriteLine(strrep);
        Console.WriteLine(strrep2);
        Console.WriteLine(strrep3);

        //Compare:比较两个指定的 String 对象,并返回一个指示二者在排序顺序中的相对位置的整数
        string str4 = "abc";
        string strcm1 = "abc";
        string strcm2 = "Abc";
        string strcm3 = "bbc";
        string strcm4 = "aac";
        Console.WriteLine();
        Console.WriteLine("{0}\n{1}\n{2}\n{3}", string.Compare(str4, strcm1),
            string.Compare(str4, strcm2), string.Compare(str4, strcm3), string.Compare(str4, strcm4));
           
        Console.ReadLine();
    }
}

输出结果为:

关于更多的string的方法,可以参见——MSDN


    这些博客主要是讲我在学C#(我主要看的书是《C#本质论第三版》)的过程中,发现它和C/C++、Java的不尽相同之处,都是自己的见解,也是比较浅显的知识,如有错误,欢迎指出

如无说明,所有程序都是在Visual Studio 2012下运行通过

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值