第二章 数据类型

本文介绍C#中字符串的特性和使用技巧,包括字符串不可变性、StringBuilder的使用场景及可空类型修饰符。此外,还详细阐述了数据类型间的转换方法,如Parse()与TryParse()函数的应用,并介绍了空接合操作符的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、字符串

1.1 字符串是不可变的

string类的关键特征在于它不可变的。当修改字符串的值时会新建一个字符串,例如:

string str = "abc";

System.Console.WriteLine(str + "def");

str+"def"会创建一个新的字符串,而不是在原str上进行修改。

1.2 System.Text.StringBuilder

当频繁的处理字符串时应使用StringBuilder,StringBuilder中包含Append()、AppendFormat()、Inser()、Remove()和Replace()等方法。

StringBuilder和string的区别在于,StringBuilder的这些方法会修改StringBuilder本身中的数据,而不是创建新的字符串。

1.3 可空修饰符

根据定义,值类型不能存储引用,所以一般不能将null赋值给值类型。为了声明可以存储null的变量,要使用可空修饰符?

static void main()

{

    int?  count = null;

    ... ...

 

2 数据类型转换

2.1 数据转换溢出

当给数据类型赋值时超出了数据类型的大小,则会出现溢出的情况,例如

static void main()

{

    int n = int.MaxValue;

    n = n + 1;

}

n的值超出了最大值所以会得到溢出值-2147483648。防止这种类型溢出可以将上述代码放在checked块中,或者在编译时使用checked选项,在“运行时”如果发生溢出,则会引发System.OverflowException异常。

static void main()

{

    checked

    {

         int n = int.MaxValue;

         n = n + 1;

    }

}

2.2 字符串与数值类型的之间转换

由于没有定义从字符串到数据类型的转换,因此需要使用像Parse()这样的方法。每个数值类型都包含一个Parse()方法。

float number= float.Parse("12.34");

所有基元类型都支持TryParse()方法,该方法与Pares相似,但当转换失败是不会引发异常,而是返回false。

double number;

bool b = double.TryParse("12.34",  number);

除此之外还可以用System.Convert实现类型之间的转换

double number = System.Convert.ToDouble("12.34");

bool b = System.Convert.ToBool("false");

 

3、空接合操作符
空接合操作符(??),其作用是“如果这个值为空,就使用另一个值”。

string fileName = GetFileName();

string fullName = fileName ?? "default.txt";

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值