回答
要读取,你可以使用一个字符串的20个字符固定
您只能在可枚举做到这一点子串方法。所以
myString = myString.Substring(0,20);
将返回前20个字符。但是,如果您的字符少于20个字符,这会引发异常。你可以像这样做一个方法来给你第一个20,或者如果它更短,所有的字符串。
string FirstTwenty(string input){
return input.Length > 20 ? input.Substring(0,20) : input;
}
然后比较他们
if(FirstTwenty(myString1).CompareTo(FirstTwenty(myString2)) == 0){
//first twenty chars are the same for these two strings
}
如果大写然后使用此功能
if (FirstTwenty(mystring1).Equals(FirstTwenty(myString2), StringComparison.InvariantCultureIgnoreCase))
{
//first twenty chars are the same for these two strings
}
C#有运算符重载也一样,你应该只使用''== –
字符串比较字符串:
bool stringsAreEqual = str1 == str2;
从字符串读头20个字符(很放心的方式):
string first20chars = string.IsNullOrEmpty(str)
? str
: str.Length >= 20
? str.Substring(0, 20)
: str;
为什么你把'?:'放在新的字符串上,而通常它们放在同一个字符串中?只是好奇。 – abatishchev
@abatishchev:你的意思是什么*新字符串*?我只是检查空和长度<20 – Jan
嗨,1月,我想问一个关于你的代码的问题。我在我的代码中非常频繁地使用这种表达式,但我通常使用'string.IsNullOrWhiteSpace'。为什么你使用' string.IsNullOrEmpty'但不是'IsNullOrWhiteSpace'?这两者之间是否有特殊的原因或差异? – Bastardo
这个比较字符串a
和的前20个字符b
if (String.Compare(a, 0, b, 0, 20) == 0)
{
// strings are equal
}
文化的具体比较规则,你CA氮素利用此重载,接受一个StringComparison enum:
if (String.Compare(a, 0, b, 0, 20, StringComparison.CurrentCultureIgnoreCase) == 0)
{
// case insensitive equal
}
string input = "...";
string first20 = input.Substring(0, 20);
bool eq = String.Equals(first20, anotherString, StringComparison.Ordinal);
见String.Substring(),String.Equals() MSDN上。
使用Linq!
if(new string(yourString.Take(20).ToArray()) == otherString.Take(20))
....
编辑 正如评论所说,改变了IEnumerable返回字符串。
if(yourString.Take(20).SequenceEqual(other.AsEnumerable())
....
如果你只是想检查字符串的开始:
if(yourString.Take(20).SequenceEqual(other.Take(20))
....
您正在做一个'IEnumerable
我从来没有使用过Linq。但是它的可读性远远超过了'return yourString.Length> 20? yourString.SubString(0,20):yourstring;'。 +1 –
将无法工作,'IEnumerable.Take'返回另一个'IEnumerable',which'll反过来说''==到参考平等检查 –
子字符串在C#中String类返回一个新字符串,它是此字符串的一个子。子字符串从指定的给定索引开始并扩展到给定的长度。
str = "This is substring test";
retString = str.Substring(5, 7); // "is"
在你的情况,你必须使用
str.substring(0,20);
比较两个字符串使用String.Equals()
String a = "Hello";
String b = "World";
if(a.Equals(b, true));
不理你必须使用字符串的情况下,“真”。
- 1. 与其他字符串进行比较
- 2. 将字符串与其他字符串进行排序比较
- 3. 比较一个字符串与多个其他字符串
- 4. 如何与字符串文字进行字符串比较?
- 5. PHP脚本比较一个字符串与其他字符串
- 6. 将字符串[index]与另一个字符串进行比较
- 7. Android:JSON字符串数据与其他字符串比较
- 8. 如何读取字节流的前n个字符?并与字符串比较
- 9. 如何提取字符串的字符并将它们与Python中的另一个字符串进行比较?
- 10. 如何比较一个字符串与多个其他字符串
- 11. 将字符串与数组中的字符串进行比较
- 12. 如何比较字符与字符串中的单个字符?
- 13. 与字符串比较字符串值
- 14. 2d numpy.array()比较一个字符串与其他字符串,并重复每个字符串
- 15. 如何将字符串逐个字符与字符进行比较?
- 16. 如何将一个字符与字符串的所有字符进行比较
- 17. 如何将字符数组与字符串进行比较
- 18. 将字符串与字符串数组进行比较
- 19. 将字符串网址与字符串值进行比较
- 20. 通过字符串与字符串列表进行比较
- 21. 将数组字符串与字符串进行比较
- 22. 如何从查询中获取值并将其与字符串进行比较?
- 23. 字符串与另一个字符串字符的比较
- 24. Arduino从串行线读取字符串并比较
- 25. Java - 将单个字符与字符串进行比较
- 26. Python:如何将input()字符串与另一个字符串进行比较?
- 27. C#可能比较字符串[] 4其他字符串[]?
- 28. NSPredicate比较字符串小于其他字符串
- 29. 将字符串的字符与字典进行比较python
- 30. 字符/字符串比较
“建议假人的示例。” +1为你的诚实! – spender
如果你正在做哈希,为什么你需要截断你的字符串为20个字符?无论源数据的长度是多少,经典哈希算法都会产生固定大小的结果。 –
我不知道谁接受!我正在为大家投票选出非常好的答案。但我必须混合搭配。 – NewHelpNeeder