C语言中的字符和字符串是两个不同的概念,它们之间有着明显的区别。
首先,字符是一个单独的字符,它可以是一个数字、一个字母或者一个特殊符号,它以单引号来表示。而字符串则是由多个字符连接而成的序列,它以双引号来表示。
其次,在C语言中,字符和字符串都有自己的数据类型。char是C语言中用于表示单个字符的数据类型;而char * 是用于表示多个连接在一起的字符序列的数据类型。
此外,在C语言中,对于单独的一个字符来说,它可以直接使用单引号来表达;而对于多个连接在一起的序列来说,就必须使用变量来保存并使用它们。
#include <stdio.h> int main() { char c = 'A'; // 声明c并将其初始化 char str[] = "Hello World!"; // 声明str并将其初始化 printf("c = %c\n", c); // 输出c printf("str = %s\n", str); // 输出str return 0; }
C#的 char
类型别名 System.Char
类型表示 Unicode 字符。
在单引号中指定char
字面值:
char c = 'A';
上面的代码创建一个 char 类型变量c
,并赋值为A
。
转义序列表达不能用字面表达的字符。
转义序列是反斜杠,后跟具有特殊含义的字符。
例如:
char newLine = "n";
char backSlash = "";
转义序列字符如下表所示。
字符 | 含义 | 值 |
---|---|---|
' | 单引号 | 0x0027 |
" | 双引号 | 0x0022 |
反斜杠 | 0x005C | |
0 | 空 | 0x0000 |
a | 警告 | 0x0007 |
b | 退格 | 0x0008 |
f | 换页 | 0x000C |
n | 换行 | 0x000A |
r | 回车 | 0x000D |
t | 水平制表符 | 0x0009 |
v | 垂直制表符 | 0x000B |
u
或 x
转义序列可以通过其四位十六进制代码指定任何 Unicode 字符。
例如,
char copyrightSymbol = "u00A9";
char omegaSymbol = "u03A9";
char newLine = "u000A";
从char
到数字类型的隐式转换适用于可以容纳无符号短整型的数字类型。
对于其他数字类型,需要显式转换。
C#的字符串类型别名System.String
类型表示 Unicode 字符的不可变序列。
字符串字面值在双引号内指定:
string a = "www..cn";
string
是一个引用类型,而不是值类型。
然而,它的等式运算符遵循值类型语义:
string a = "test";
string b = "test";
Console.Write (a == b); // True
对 char
字符有效的转义序列也在字符串中工作:
string a = "Here"s a tab:t";
C#允许逐字字符串字面值。
逐字符串字符串以 @
开头,不支持转义序列。
string a2 = @ "rootfilesMain.cs";
逐字字符串字面值也可以跨多行:
string escaped = "First LinernSecond Line";
string verbatim = @"First Line
Second Line";
您可以通过将双引号字符写入两次,将其包含在逐字字面值中:
string xml = @"<emp id=""123""></emp>";
+
运算符连接两个字符串:
string s = "a" + "b";
对该值调用非字符串值的ToString
方法。例如:
string s = "a" + 1; // a1
C#第一个程序我们将要写我们的第一个C#程序。这里是一个程序,将2乘以3,并打印结果,6,到屏幕。双正斜杠表示行的其余部分是注...
C# Lambda表达式lambda表达式是一个未命名的方法,代替一个委托实例。给定以下委托类型:delegate int Converter (int i);我们可...
C# 异常处理异常是在程序执行期间出现的问题。C# 中的异常是对程序运行时出现的特殊情况的一种响应,比如尝试除以零。 异常提供...
C#是由微软(Microsoft)开发的,由 ECMA(欧洲计算机厂家协会) 和 ISO 核准认可的一个现代的、通用的、面向对象的编程语言。C#...