String.Format 数组内部

String.Format inside of array

所以我将字符串格式分成两个数组:

字符串:

{ "{0}", "hit", "{1}" } 

值:

{ "Player", "Enemy" }

有没有办法格式化这个?我还能使用 String.Format 吗?

编辑:

我认为我没有很好地描述问题:

预期结果将是新数组或第一个数组编辑如下:

{ "Player" , "hit" , "Enemy" } 

请记住,值 "Enemy" 也可以是 "Enemy 1" 或 "Enemy Strong" 等

您可以这样做:

var s = new[] {"{0}", "hit", "{1}"};
var values = new [] {"Player", "Enemy"};

var result = String.Format(String.Join(" ", s), values);

输出:

Player hit Enemy
string[] a = {"{0}", "hit", "{1}"};
string[] b = {"Player", "Enemy"};
var result = string.Format(string.Join(" ", a), b);

应该很好用。

由于输入的缘故,我希望您希望创建 string[] 作为结果而不是字符串。为此,您可以使用 Linq:

var s = new[] {"{0}", "hit", "{1}"};
var values = new [] {"Player", "Enemy"};

var result = s.Select((a)=>string.Format(a, values)).ToArray();