c# 中几个关于string问题

Posted yy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c# 中几个关于string问题相关的知识,希望对你有一定的参考价值。

1、string是一个应用类型,而不是值类型;为什么用起来很像值类型?因为微软对其做了特殊处理。

2、

 1 using System;
 2 
 3 namespace testForString
 4 {
 5     class Program
 6     {
 7         class Abc
 8         {
 9             public string A { get; set; }
10 
11             public DateTime D { get; set; }
12         }
13 
14         static void Main(string[] args)
15         {
16             Abc abc = new Abc();
17 
18 
19             string str = null + "acb";
20 
21             Console.ReadKey();
22         }
23     }
24 }

以上代码中abc变量中abc.A为null,abc.D不是空而是1年1月1日0点0分0秒000。

  

 string str = null + "acb";

 

代码并没有抛出异常。而是str被赋值为“abc”

3、如果是这样的一句话,

 string str; 

string abc=str+null; 

运行时,会编译不通过.

4、运行以下代码:

1 string str=null;
2 
3 string abc=str+null;
4 
5 Console.WriteLine(abc.toString());

不会抛出任何一个异常,在第二行中abc已经被赋值为“”。

5.运行以下一段代码:

 

 1 using System;
 2 
 3 namespace testForString
 4 {
 5     class Program
 6     {
 7         static void Main(string[] args)
 8         {
 9             string str = null;        
10 
11             Console.WriteLine(str.ToString());
12 
13             Console.ReadKey();
14         }
15     }
16 }

 将会抛出错误:System.NullReferenceException。

能完全答对的举手!!!

以上是关于c# 中几个关于string问题的主要内容,如果未能解决你的问题,请参考以下文章

C#中几个循环的灵活运用

图像处理中几个基本的处理方法c#代码实现

关于爬虫中几个常用库的使用方法总结

jQuery中几个关于元素宽高方法的区别

Oracle中几个关于日期方面的SQL实例

关于Spring Bean的生命周期中几个常用方法(@PostConstruct@PreDestroy 等)的执行顺序