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

2、

 using System;

 namespace testForString
{
class Program
{
class Abc
{
public string A { get; set; } public DateTime D { get; set; }
} static void Main(string[] args)
{
Abc abc = new Abc(); string str = null + "acb"; Console.ReadKey();
}
}
}

以上代码中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、运行以下代码:

 string str=null;

 string abc=str+null;

 Console.WriteLine(abc.toString());

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

5.运行以下一段代码:

 using System;

 namespace testForString
{
class Program
{
static void Main(string[] args)
{
string str = null; Console.WriteLine(str.ToString()); Console.ReadKey();
}
}
}

将会抛出错误:System.NullReferenceException。

能完全答对的举手!!!

java中会是什么样子呢?

         String str=null;
String str1=str+null; System.out.println(str1+"abc"); System.out.println(str1.toString());
System.out.println(str.toString());

第4行打印出:nullnullabc

第6行打印出:nullnull

第7行抛出空指针错误:

Exception in thread "main" java.lang.NullPointerException
at cn.test.timer.TestTimer.main(TestTimer.java:xx)

c# 中几个关于string问题的更多相关文章

  1. C#中是否可以继承String类

    C#中是否可以继承String类? 答:String类是sealed类故不可以继承. 当对一个类应用 sealed 修饰符时,此修饰符会阻止其他类从该类继承. 在下面的示例中,类 HoverTree ...

  2. Asp.net中使用Server.HtmlDecode(string str)的使用

    前言: 在使用Visual Studio开发web页面时,需要在GridView中绑定Table数据,并加入了CommandField, 试图,点击详情按钮是,获取GridView中Rows中Cell ...

  3. Java中是否可以继承String类,为什么

    Java中,是否可以继承String类?为什么? 答案: 不可以,因为String类有final修饰符,而final修饰的类是不能被继承的,实现细节不允许改变. public final class ...

  4. C字符串和C++中string的区别 &&&&C++中int型与string型互相转换

    在C++中则把字符串封装成了一种数据类型string,可以直接声明变量并进行赋值等字符串操作.以下是C字符串和C++中string的区别:   C字符串 string对象(C++) 所需的头文件名称 ...

  5. java中main方法的 (String []args)

    java中main方法的 (String []args)         String[] args是main函数的形式参数,可以用来获取命令行用户输入进去的参数.java 本身不存在不带String ...

  6. 详解 SWT 中的 Browser.setUrl(String url, String postData, String[] headers) 的用法

    http://hi.baidu.com/matrix286/item/b9e88b28b90707c9ddf69a6e ———————————————————————————————————————— ...

  7. C# 中使用Image.FromFile(string path)后,提示该文件正在被另一进程使用XXX的问题

    C# 中使用Image.FromFile(string path)后,提示该文件正在被另一进程使用XXX的问题 C# 中使用Image.FromFile(string path)后,提示该文件正在被另 ...

  8. Java jre7及以上版本中的switch支持String的实现细节

    Java7中的switch支持String的实现细节 作者: zsxwing 更新: 2013-03-04 21:08:02 发布: 2012-04-26 13:58:19 在Java7之前,swit ...

  9. java中的switch用String作为条件

    在开发java程序的过程中,我们遇到了条件推断首选就是switch,可是java中的switch功能不支持字符串作为条件.这时我们该怎么办呢? --使用枚举. 一.枚举简单了解    1.enum是一 ...

  10. 探究 C# 中的 char 、 string(一)

    目录 探究 C# 中的 char . string(一) 1. System.Char 字符 2. 字符处理 3. 全球化 4. System.String 字符串 4.1 字符串搜索 4.2 字符串 ...

随机推荐

  1. 洛谷 P1015 回文数 Label:续命模拟QAQ

    题目描述 若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数. 例如:给定一个10进制数56,将56加65(即把56从右向左读),得到121是一个回文数. 又如:对于10进制数 ...

  2. ASP.NET状态保持方案若干

    客户端方案: 1.ViewState 2.隐藏域 3.cookie 大小4KB限制,不消耗服务器资源,可配置到期时间,但安全性不高,还被客户端禁用. 4.QueryString 方法简单,但不安全,有 ...

  3. Oracle 数值函数

    上一次整理了一下Oracle字符串中常用的函数,接下来就整理一下Oracle数值方面的一些常用的函数. 1.NVL 空值转换函数,请注意一下,任何包含NULL值的算术运算都会得到NULL,这个函数有点 ...

  4. C#进程操作

    C#进程操作 转:http://www.cnblogs.com/vienna/p/3560804.html 一.C#关闭word进程  foreach (System.Diagnostics.Proc ...

  5. Eclispe怎么给工作空间下的项目分组

    Eclispe怎么给工作空间下的项目分组 第一步,打开Java Working Set 第二步,添加分组 第三步,选择分组

  6. Ajax 完整教程。。转载

    Ajax 完整教程 第 1 页 Ajax 简介 Ajax 由 HTML.JavaScript™ 技术.DHTML 和 DOM 组成,这一杰出的方法可以将笨拙的 Web 界面转化成交互性的 Ajax 应 ...

  7. for嵌套:1.兔子生兔子问题 2.打印菱形 3.求100以内质数的和

    1.兔子生兔子问题 方法一: 方法二: 2.打印菱形 3.求100以内质数的和

  8. svn学习笔记(3)设置

    1.图标集

  9. 创造tips的秘籍——PHP回调后门

    作者:Phithon 原文连接:https://www.leavesongs.com/PENETRATION/php-callback-backdoor.html 最近很多人分享一些过狗过盾的一句话, ...

  10. vue 一些开发姿势

    .vue : <template></template><script></script> .js :import Vue from 'vue'