C# string字符串==和equal

简介: 在C#中,string 类型的特点有: (1)属于基本数据类型;  (2)是引用类型;  (3)只读;  (4) string a="1123";             string b="1123";  那么a和b指向同一个内存地址; 但是并非2个相同值相等的字符串就对应同一个内存地址; (5)2个string 类型做“==”操作,先判断内存地址是否相同,如果相同,则立即返回true;如果内存地址不相同,则继续判断值是否相同。

在C#中,string 类型的特点有:

(1)属于基本数据类型;

 (2)是引用类型;

 (3)只读;

 (4) string a="1123";

            string b="1123";

 那么a和b指向同一个内存地址;

但是并非2个相同值相等的字符串就对应同一个内存地址;

(5)2个string 类型做“==”操作,先判断内存地址是否相同,如果相同,则立即返回true;如果内存地址不相同,则继续判断值是否相同。

  (6)有2个字符串值相等,如何判断其对应的内存地址相同呢?

回答:用object强转后进行比较。

          string a = "1234";
          string s = "123";

            s += "4";
          string b = s;
          Console.WriteLine((object)a == (object)b);

 

参考文章:http://terrylee.cnblogs.com/archive/2005/12/26/304876.html

相关文章
|
22天前
|
C#
C#的小例子和字符串(一)
C#的小例子和字符串(一)
29 0
|
2月前
|
存储 缓存 测试技术
CMake String函数:如何巧妙地在cmake中操作字符串
CMake String函数:如何巧妙地在cmake中操作字符串
154 0
|
2月前
|
C#
51.c#:string类的静态方法
51.c#:string类的静态方法
24 1
|
1月前
|
C#
C#有关字符串的分割,替换,截取
C#有关字符串的分割,替换,截取
|
13天前
string(字符串)
在 Lua 中,字符串可以用双引号或单引号定义,如 `string1 = "this is string1"` 和 `string2 = 'this is string2'`。多行字符串可由两个方括号包围,例如 `html` 变量所示,它包含了一个 HTML 片段。Lua 会尝试将数字字符串转换为数值进行算术运算,但混合字符串和数字可能导致错误,如 `"error" + 1`。
|
18天前
|
缓存 安全 Java
【Java基础】String、StringBuffer和StringBuilder三种字符串对比
【Java基础】String、StringBuffer和StringBuilder三种字符串对比
9 0
|
22天前
|
C#
C#字符串
C#字符串
15 0
|
存储 编译器 Linux
标准库中的string类(中)+仅仅反转字母+字符串中的第一个唯一字符+字符串相加——“C++”“Leetcode每日一题”
标准库中的string类(中)+仅仅反转字母+字符串中的第一个唯一字符+字符串相加——“C++”“Leetcode每日一题”
|
1月前
|
JavaScript
js 字符串String转对象Object
该代码示例展示了如何将一个以逗号分隔的字符串(`'1.2,2,3,4,5'`)转换为对象数组。通过使用`split(',')`分割字符串并`map(parseFloat)`处理每个元素,将字符串转换成浮点数数组,最终得到一个对象数组,其类型为`object`。
|
1月前
|
Python
Python中的字符串(String)
【4月更文挑战第6天】Python字符串是不可变的文本数据类型,可使用单引号或双引号创建。支持连接(+)、复制(*)、长度(len())、查找(find()、index()、in)、替换(replace())、分割(split())、大小写转换(lower()、upper())和去除空白(strip()等)操作。字符串可格式化,通过%操作符、`str.format()`或f-string(Python 3.6+)。字符串以Unicode编码,作为对象拥有属性和方法。熟悉这些操作对处理文本数据至关重要。
39 6
Python中的字符串(String)