C#字符串(System.String)知识点总结
2011中考物理
环境:Visual Studio 2015, Framework 4.0
C#中的字符串,即System.String,⼀般⽤string表⽰。应⽤类型,可以为null。
为什么要强调说可以为null呢?
因为它会导致调⽤ToString()是报空引⽤错误。。。
luckystrike
String与string是什么关系?
在C#中,string是System.String的别名,String是公共库的语法,据说把string写成String之后,编译的时候就不⽤把string转成String 了有⼀点性能提升。但是string才是C#的语法规范,个⼈推荐⽤string。
怎么定义字符串?
string str1 = "A123B";
这就是定义字符串,并给他赋值A123B。
字符串等于""和null有什么不同?
string str1 = ""; → 空字符串,定义⼀个string的引⽤并且分配内存空间
旅鸫
string str2 = null; → 定义⼀个string的引⽤,只在栈上分配了空间,在堆上没有分配,直接使⽤该变量会报空引⽤错误
字符串常⽤操作
⼀、object to string
1、ToString()
调⽤ToString()⽅法把object转成字符串,如果object为null会报空引⽤错误。
介绍⼏种常⽤类型转字符串:
(1)、int to string,
class Program
{
static void Main(string[] args)
{
int i = 101;
string s = i.ToString();
Console.ReadKey();
}
}
(2)、decimal to string,或者说⼩数转字符串
ToString("0.##")在把⼩数转字符串时去掉后⾯的0,也就是保留有效⼩数位。
class Program
{
static void Main(string[] args)
{
decimal d = 101.0000M;
string s = d.ToString();
Console.WriteLine(s);
string s2 = d.ToString("0.##");
Console.WriteLine(s2);
decimal d2 = 101.55000M;
s = d2.ToString();
Console.WriteLine(s);
s2 = d2.ToString("0.##");
Console.WriteLine(s2);
Console.ReadKey();
}
}
(3)、datetime to string,
class Program考研政治怎么复习
{
static void Main(string[] args)
{
DateTime now = DateTime.Now;
string s1 = now.ToString();
Console.WriteLine(s1);
string s2 = now.ToString("yyyy-MM-dd");
Console.WriteLine(s2);
//HH 表⽰24⼩时制的时
string s3 = now.ToString("yyyy-MM-dd HH:mm:ss"); Console.WriteLine(s3);
//hh 表⽰分AM/PM 12⼩时制的时
string s4 = now.ToString("yyyy-MM-dd hh:mm:ss"); Console.WriteLine(s4);
//长⽇期
string s5 = now.ToLongDateString();阿黛尔007主题曲
Console.WriteLine(s5);
//短⽇期
string s6 = now.ToShortDateString();
Console.WriteLine(s6);
//长时间
string s7 = now.ToLongTimeString();
Console.WriteLine(s7);
//短时间
string s8 = now.ToShortTimeString();
Console.WriteLine(s8);
Console.ReadKey();
}
}
business nature2、obj + ""
除了ToString()外,也可以在利⽤object+""把object转成字符串,如果字符串为null就把字符串转成"",并且那怕object为null也不会报异常。
⼆、字符串拼接
俄语初学1、+
利⽤+把多个字符串连接成⼀个字符串
2、Format()
第⼀个参数是字符串模板,利⽤{}表数字括起来表⽰要在当前位置插⼊⼀个字符串,下标从0开始,Format()第⼆个参数起是模板的第⼀个参数。{0}表⽰模板的第⼀个参数,{1}表⽰模板的第⼆个参数。
class Program
{
static void Main(string[] args)
{
雅思是什么意思
string str = "你好";
llqConsole.WriteLine(str);
string str2 = "我来了";
Console.WriteLine(str2);
string str3 = string.Format("{0}, {1}。", str, str2);
Console.WriteLine(str3);
Console.ReadKey();
}
}
三、判断字符串是否为""、null
1、str == "",str == null
2、IsNullOrEmpty()
⽤法如下,把要判断的字符串作参数传⼊,字符串为 ""、null、string.Empty 是返回true,否则返回fal。
// 摘要:
// 指⽰指定的字符串是 null 还是 System.String.Empty 字符串。
//
// 参数:
// value:
// 要测试的字符串。
//
// 返回结果:
// 如果 value 参数为 null 或空字符串 (""),则为 true;否则为 fal。
[TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
public static bool IsNullOrEmpty(String value);
class Program
{
static void Main(string[] args)
{
string str = "";
if (string.IsNullOrEmpty(str))
{
Console.WriteLine("str IsNullOrEmpty : true");
}
elshells
{
Console.WriteLine("str IsNullOrEmpty : fal");
}
string str2 = "aaa";
if (string.IsNullOrEmpty(str2))
{
Console.WriteLine("str2 IsNullOrEmpty : true");
}
el
{
Console.WriteLine("str2 IsNullOrEmpty : fal");
}
Console.ReadKey();
}
}