"aaaa" .StartsWith("aaa")返回false [英] "aaaa".StartsWith("aaa") returns false
本文介绍了"aaaa" .StartsWith("aaa")返回false的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如果这不是错误,那么谁能解释这个现象的原因吗?实际上,似乎每个奇数个字母都将返回false:
If this is not a bug, can anyone then explain the reason behind this behavior? Indeed it seems that every odd number of letters will return false:
string test = "aaaaaaaaaaaaaaaaaaaa";
Console.WriteLine(test.StartsWith("aa"));
Console.WriteLine(test.StartsWith("aaa"));
Console.WriteLine(test.StartsWith("aaaa"));
Console.WriteLine(test.StartsWith("aaaaa"));
Console.WriteLine(test.StartsWith("aaaaaa"));
Console.WriteLine(test.StartsWith("aaaaaaa"));
在丹麦系统上执行时,
产生以下输出:
yields following output when executed on a Danish system:
True
False
True
False
True
False
推荐答案
这肯定是由于您当前的文化所致. 您可能在丹麦语中,aa被认为是字母. 如果您尝试更改文化..或案例,它将起作用.
This is certainly due to your current culture. You may be in Danish in which aa is considered a letter. If you try changing the culture.. or the case, it shall work.
我想我还记得匈牙利文化和信件协会的类似行为
I think I remember similar behaviour with hungarian cultures and letter associations
看看带有丹麦文字的String StartsWith()问题
示例:
using System;
using System.Globalization;
namespace Demo
{
public static class Program
{
public static void Main(string[] args)
{
System.Threading.Thread.CurrentThread.CurrentUICulture = new CultureInfo("da-DK");
System.Threading.Thread.CurrentThread.CurrentCulture = System.Threading.Thread.CurrentThread.CurrentUICulture;
string test = "aaaaaaaaaaaaaaaaaaaa";
Console.WriteLine(test.StartsWith("aa"));
Console.WriteLine(test.StartsWith("aaa"));
Console.WriteLine(test.StartsWith("aaaa"));
Console.WriteLine(test.StartsWith("aaaaa"));
Console.WriteLine(test.StartsWith("aaaaaa"));
Console.WriteLine(test.StartsWith("aaaaaaa"));
}
}
}
这将打印出OP的声明.
This prints what the OP claims.
这篇关于"aaaa" .StartsWith("aaa")返回false的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文