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

本文关键字:声明 变量 format String 中的 | 更新日期: 2023-09-27 18:30:43

如何在 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));

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

如果您能分享您尝试这样做的原因,并告诉我们您在做什么,那就太好了。

您的工作代码应如下所示

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

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

这是不可能的。将 string.format 视为具有很少重载的方法,该方法采用 MSDN 链接中提到的少量参数集。您调用该方法的方式不能满足您的意图,因此它会失败。我不明白你为什么会尝试做这样的事情。