C# 比较带引号的字符串
大家好,我正在尝试用C语言创建一个程序,在这个程序中,我比较两个字符串,其中字符串中有双引号。我的问题是如何比较它们是否相等,因为编译器似乎忽略了引号内的单词,并且没有给出正确的比较 例如,如果C# 比较带引号的字符串,c#,string,quotation-marks,C#,String,Quotation Marks,大家好,我正在尝试用C语言创建一个程序,在这个程序中,我比较两个字符串,其中字符串中有双引号。我的问题是如何比较它们是否相等,因为编译器似乎忽略了引号内的单词,并且没有给出正确的比较 例如,如果 string1 = Hi "insert name" here. string2 = Hi "insert name" here. 我想使用string1.equals(string2)。但它似乎告诉我弦是不相等的。我该怎么做?请帮忙 另外,我无法控制字符串的外观,因为它们是动态变量。所以我不能只说添
string1 = Hi "insert name" here.
string2 = Hi "insert name" here.
我想使用string1.equals(string2)
。但它似乎告诉我弦是不相等的。我该怎么做?请帮忙
另外,我无法控制字符串的外观,因为它们是动态变量。所以我不能只说添加一个转义序列
string s1 = "Hi \"insert name\" here.";
string s2 = "Hi \"insert name\" here.";
Console.WriteLine((s1 == s2).ToString()); //True
我没有问题
我没有问题….NET在进行比较时不会忽略带双引号的字符串值。我认为你对正在发生的事情的分析是有缺陷的。例如,给定这些值:
var string1 = "This contains a \"quoted value\"";
var string2 = "This contains a \"quoted value\"";
var string3 = "This contains a \"different value\"";
string1.Equals(string2)
将等于true
,而string2.Equals(string3)
将等于false
以下是您在比较时没有看到预期结果的一些潜在原因:
“this”
和“this”
是完全不同的字符串String
引用,则可能会发生错误的比较问题的潜在原因还有很多,但这并不是因为字符串比较忽略了双引号。您在问题中提供的详细信息越多,我们就越容易缩小您看到的内容。.NET在进行比较时不会忽略带双引号的字符串值。我认为你对正在发生的事情的分析是有缺陷的。例如,给定这些值:
var string1 = "This contains a \"quoted value\"";
var string2 = "This contains a \"quoted value\"";
var string3 = "This contains a \"different value\"";
string1.Equals(string2)
将等于true
,而string2.Equals(string3)
将等于false
以下是您在比较时没有看到预期结果的一些潜在原因:
“this”
和“this”
是完全不同的字符串String
引用,则可能会发生错误的比较问题的潜在原因还有很多,但这并不是因为字符串比较忽略了双引号。您在问题中提供的详细信息越多,我们就越容易缩小您看到的内容。是的,我知道,如果以这种方式键入字符串,您就不会有问题。但是这些字符串在excel电子表格中,写为“Hi”insert name“here”。“我无法控制字符串的外观,因为它们是动态变量。当您从excel电子表格中读取并将其分配给变量时,“Hi”insert name“here”不会变成“Hi\”insert name“here”?假设您使用的是visual studio,请在变量位于作用域中的位置设置断点,然后打开即时窗口(ctrl+alt+i),并键入变量的名称。您将看到它的表示形式很可能如@Alex所描述的那样。在即时窗口中查看字符串还将显示特殊字符,如换行符和回车符。顺便问一下,您现在如何查看字符串值?如果您将鼠标悬停在变量上并单击放大镜图标,则不会看到用于转义引号的反斜杠。是的,我知道如果以这种方式键入字符串,您不会有问题。但是这些字符串在excel电子表格中,写为“Hi”insert name“here”。“我无法控制字符串的外观,因为它们是动态变量。当您从excel电子表格中读取并将其分配给变量时,“Hi”insert name“here”不会变成“Hi\”insert name“here”?假设您使用的是visual studio,请在变量位于作用域中的位置设置断点,然后打开即时窗口(ctrl+alt+i),并键入变量的名称。您将看到它的表示形式很可能如@Alex所描述的那样。在即时窗口中查看字符串还将显示特殊字符,如换行符和回车符。顺便问一下,您现在如何查看字符串值?如果将鼠标悬停在变量上并单击放大镜图标,然后您将看不到用于转义引号的反斜杠。正在比较的字符串被设计为没有转义字符,因为它们是来自excel文件的固定消息。我无法控制字符串的外观,因为它们是动态变量。正在比较的字符串被设计为没有转义字符因为它们是来自excel文件的固定消息。我无法控制字符串的外观,因为它们是动态变量。