0

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;
}

では、文字列であるべきテキスト内の配列位置への参照を持つメソッドから文字列を返すにはどうすればよいでしょうか?

4

2 に答える 2

4

string.Formatは次のように使用する必要があります。

 searchResult = string
        .Format("Account # {0} has a balance of {1:c} for customer {2}",
         accountsarr[i], balancesarr[i], namesarr[i]);

発生するエラーは構文です。aの代わりにコンマ+と余分なものがあります"

コードがコンパイルされない理由を知っているだけです:

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
于 2012-04-04T04:49:35.460 に答える
2

あなたは単に次のことをすることができます:

searchResult = "Account #" + accountsarr[i] + " has a balance of "+String.Format("{0:c}",balancesarr[i]) + " for customer " + namesarr[i];
于 2012-04-04T04:48:54.050 に答える