son*_*ard 17 c# string startswith
如果这不是一个错误,那么有人可以解释这种行为背后的原因吗?事实上,似乎每个奇数个字母都会返回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"));
Run Code Online (Sandbox Code Playgroud)
在丹麦系统上执行时输出后的输出:
True
False
True
False
True
False
Run Code Online (Sandbox Code Playgroud)
Kek*_*Kek 22
这当然归功于您目前的文化.您可能是丹麦语,其中aa被视为一封信.如果你尝试改变文化..或案件,它应该工作.
我想我记得匈牙利文化和字母联想的类似行为
看一下使用丹麦语文本的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"));
}
}
}
Run Code Online (Sandbox Code Playgroud)
这打印出OP声称的内容.