辞書のキー値のフォーマットを変更してほしい。
何かのようなもの
Dictionary<string,string> dictcatalogue = new Dictionary<string,string>();
dictCatalogue = dictCatalogue.Select(t => t.Key.ToString().ToLower() + "-ns").ToDictionary();
値に影響を与えずに辞書のキーを変更するにはどうすればよいですか
辞書のキー値のフォーマットを変更してほしい。
何かのようなもの
Dictionary<string,string> dictcatalogue = new Dictionary<string,string>();
dictCatalogue = dictCatalogue.Select(t => t.Key.ToString().ToLower() + "-ns").ToDictionary();
値に影響を与えずに辞書のキーを変更するにはどうすればよいですか
stuartd の回答を正しい解決策と見なすことをお勧めします。それでも、大文字と小文字の区別を無視して新しい辞書を作成せずに辞書を操作する方法に興味がある場合は、次のコード スニペットを確認してください。
class Program
{
static void Main(string[] args)
{
var searchedTerm = "test2-ns";
Dictionary<string, string> dictCatalogue =
new Dictionary<string, string>(StringComparer.InvariantCultureIgnoreCase);
dictCatalogue.Add("test1", "value1");
dictCatalogue.Add("Test2", "value2");
// looking for the key with removed "-ns" suffix
var value = dictCatalogue[searchedTerm
.Substring(0, searchedTerm.Length - 3)];
Console.WriteLine(value);
}
}
// Output
value2