gpt4 book ai didi

c# - 命名为String.Format,可能吗?

转载 作者:IT王子 更新时间:2023-10-29 04:11:23 24 4
gpt4 key购买 nike

我不想使用 {0} {1} 等。我想使用 {title}。然后以某种方式填充该数据(下面我使用了 Dictionary)。此代码无效并抛出异常。我想知道我是否可以做一些类似于我想要的事情。使用 {0 .. N} 不是问题。我只是好奇。

Dictionary<string, string> d = new Dictionary<string, string>();
d["a"] = "he";
d["ba"] = "llo";
d["lol"] = "world";
string a = string.Format("{a}{ba}{lol}", d);

最佳答案

不,但是这个扩展方法可以做到

static string FormatFromDictionary(this string formatString, Dictionary<string, string> valueDict) 
{
int i = 0;
StringBuilder newFormatString = new StringBuilder(formatString);
Dictionary<string, int> keyToInt = new Dictionary<string,int>();
foreach (var tuple in valueDict)
{
newFormatString = newFormatString.Replace("{" + tuple.Key + "}", "{" + i.ToString() + "}");
keyToInt.Add(tuple.Key, i);
i++;
}
return String.Format(newFormatString.ToString(), valueDict.OrderBy(x => keyToInt[x.Key]).Select(x => x.Value).ToArray());
}

关于c# - 命名为String.Format,可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1010123/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com