在c#中的String.format中声明变量

时间:2016-01-16 22:36:53

标签: c# variables declare

如何在String.format中声明一个变量并再次使用它,如:

String.Format("{0} {1}", int t = 1, new string[] { "a", "b" }.ElementAt(t));

更新
我只是想学习新的东西并在一行中键入代码 在这种情况下没有必要,但在其他情况下有用。

更新
我找到了另一个解决方案:

int indx;
var st = String.Format("{0} {1}", (indx=1), new string[] { "a", "b" }.ElementAt(indx));

2 个答案:

答案 0 :(得分:1)

如果您愿意分享您为什么尝试这样做的原因,并且可能告诉我们您在做什么,那将是一件好事。

您的代码应该如下所示

int t = 1;
string[] myArray = new string[] { "a", "b" };
Console.WriteLine(string.Format("{0} {1}", t, myArray[t]));

你试图做的似乎没有任何意义,首先它不起作用。按照自己的方式进行操作会导致无法访问您创建的 t 数组,即使它有效,也会与静态字符串string myString = "1 b"相同。你的方式是你无法操纵这些变量,因为它们只存在于那一行的上下文中,并且每次执行时都会回到它们的初始值。

答案 1 :(得分:1)

这是不可能的。将string.format视为一个具有很少重载的方法,它需要MSDN link中提到的几组参数。你调用方法的方式不能满足你的意图,因此它会失败。 我不明白为什么你会尝试做这样的事情。