一つは、アプリのクラッシュを持っていたし、私が原因私は本当に説明できないこのバグ/機能にそれをトレースする非整数の結果を返します。
WindowsIdentity.GetCurrent()。Name.GetHashCode()は、次の文字列を返します。 - ?2097695743
はい、マイナススペース、疑問符、実際のハッシュ番号です。C#string.GetHashCode()私のクライアントの
これは、奇妙な動作を示す単純なコンソールアプリケーションのコードです。
static void Main(string[] args)
{
Console.WriteLine("From String: string name = WindowsIdentity.GetCurrent().Name");
string name = WindowsIdentity.GetCurrent().Name;
Console.WriteLine("name: " + name);
Console.WriteLine("name.GetHashCode().GetType(): " + name.GetHashCode().GetType());
Console.WriteLine("name.GetHashCode(): " + name.GetHashCode());
Console.WriteLine("name.GetHashCode().ToString(): " + name.GetHashCode().ToString());
Console.WriteLine();
Console.WriteLine();
Console.WriteLine("Direct");
Console.WriteLine("WindowsIdentity.GetCurrent().Name: " + WindowsIdentity.GetCurrent().Name);
Console.WriteLine("WindowsIdentity.GetCurrent().Name.GetHashCode().GetType(): " + WindowsIdentity.GetCurrent().Name.GetHashCode().GetType());
Console.WriteLine("WindowsIdentity.GetCurrent().Name.GetHashCode(): " + WindowsIdentity.GetCurrent().Name.GetHashCode());
Console.WriteLine("WindowsIdentity.GetCurrent().Name.GetHashCode().ToString(): " + WindowsIdentity.GetCurrent().Name.GetHashCode().ToString());
Console.WriteLine();
Console.WriteLine();
Console.WriteLine("Press Enter to continue");
Console.ReadLine();
}
これはテキスト出力です:
From String: string name = WindowsIdentity.GetCurrent().Name
name: COMMARC\tje
name.GetHashCode().GetType(): System.Int32
name.GetHashCode(): - ?2097695743
name.GetHashCode().ToString(): - ?2097695743
Direct
WindowsIdentity.GetCurrent().Name: COMMARC\tje
WindowsIdentity.GetCurrent().Name.GetHashCode().GetType(): System.Int32
WindowsIdentity.GetCurrent().Name.GetHashCode(): - ?2097695743
WindowsIdentity.GetCurrent().Name.GetHashCode().ToString(): - ?2097695743
Press Enter to continue
そして、これは、同じ出力の画像です:
私の質問は:地球上で可能これでどう?
UPDATE:問題は、負の数のファンキーなウィンドウの設定にありました。
これはありません。私は端末が嫌な人だと思う。 (唯一の他の可能性は 'int.ToString()'が間違っていることですが、私はそれを疑っています) –
'>'を使ってコンソールアプリケーションの出力をファイルに書き込むとout.txt')、 'File.WriteAllText()'や 'Debug.WriteLine()'のようなものを使用しますか? – fardjad
カルチャークラッシュかもしれません。 'Name.GetHashCode()。ToString(CultureInfo.InvariantCulture)'とは何ですか? –