0

私のプログラムには、辞書に文字を追加するコードがあります

 var listOfSimilarCharacters = new Dictionary<string, string>();
 listOfSimilarCharacters.Add("l", "!");
 listOfSimilarCharacters.Add("1", "i");
 listOfSimilarCharacters.Add("O", "0");
 listOfSimilarCharacters.Add("o", "I");

しかし、上記のコードには「SimilarCharacters」というプロパティがあり、これをリードして4listOfSimilarCharacters.Add行を削除する必要があります

/// <summary>
/// A constant that is lists all similar characters.
/// </summary>
public const string SimilarCharacters = "l!1iO0oI";

何らかの方法SimilarCharactersで、辞書から文字を追加して読み取る必要があるSimilarCharactersため、4行の代わりにこれを使用できます。

4

2 に答える 2

0

コレクション初期化子を使用して、辞書を埋めることができます。

var listOfSimilarCharacters = new Dictionary<string, string> { 
  { "l", "!" }, { "1", "i" }, {"O", "0"}, {"o", "I"} 
};

ところで、なぜ文字列を使用して文字を格納するのですか?

于 2013-03-06T10:04:23.347 に答える
0
        string SimilarCharacters = "l!1iO0oI";

        var listOfSimilarCharacters = new Dictionary<string, string>();

        bool timeToAdd = false;
        string key = String.Empty;
        string value = String.Empty;
        foreach ( var c in SimilarCharacters )
        {
            if ( timeToAdd )
            {
                value = c.ToString();
                listOfSimilarCharacters.Add( key, value );
            }
            else
            {
                key = c.ToString();
            }
            timeToAdd = !timeToAdd;
        }
于 2013-03-06T10:06:40.813 に答える