如何在C#中的字符串中包含变量,例如对数组的引用
本文关键字:引用 数组 字符串 包含 变量 | 更新日期: 2023-09-27 18:29:51
我遇到了一个在main中调用并包含在同一类中的方法的问题。该方法正在输出一个字符串值,而我的问题是试图在字符串消息中包含对数组的引用。我收到信息
仅分配、调用、递增、递减和新对象表达式可以用作语句"
关于逗号和一大堆的无效表达式;预期与以下行有关:
searchResult = "Account #" + accountsarr[i] + " has a balance of {0:c}" + " for customer " + namesarr[i], balancesarr[i]";
全部采用以下方法:
public static string searchAccounts(ref int AccountNumber, int[] accountsarr, double[] balancesarr, string[] namesarr)
{
bool isValidAccount = false;
int i = 0;
while (i < accountsarr.Length && AccountNumber != accountsarr[i])
{
++i;
}
if (i != accountsarr.Length)
{
isValidAccount = true;
}
string searchResult;
if (isValidAccount)
{
searchResult = "Account #" + accountsarr[i] + " has a balance of {0:c}" + " for customer " + namesarr[i], balancesarr[i]";
}
else
searchResult = "You entered an invalid account";
return searchResult;
}
那么,如何从一个引用了文本中数组位置的方法返回字符串呢?
您应该使用字符串。格式如下:
searchResult = string
.Format("Account # {0} has a balance of {1:c} for customer {2}",
accountsarr[i], balancesarr[i], namesarr[i]);
你得到的错误是语法错误,你有一个逗号而不是+
和一个额外的"
您只知道为什么您的代码没有编译:
searchResult = "Account #" + accountsarr[i] + " has a balance of {0:c}"
+ " for customer " + namesarr[i], balancesarr[i]"; << this is an extra "
//^ you cannot put a comma here
您可以简单地执行以下操作:
searchResult = "Account #" + accountsarr[i] + " has a balance of "+String.Format("{0:c}",balancesarr[i]) + " for customer " + namesarr[i];