5

設定:

愚かな一日を過ごしています。

次のコードがあります。

UserRoles = Roles.GetRolesForUser(username);

問題:

ユーザー名が空の文字列 (""、ユーザーがログインしていない) の場合UserRoles、即時ウィンドウで値を確認すると、次のように表示されます。

{string[0]}

質問:

とは{string[0]}?

この値を複製して、ログインしていないユーザー (username == "") の場合にコードをテストするにはどうすればよいですか?

注:私はこれをグーグルで調べましたが、役に立ちませんでした。

4

5 に答える 5

9

GetRolesForUser はロールの配列を返すため、イミディエイト ウィンドウの「String[0]」は、戻り値の型が配列 (この場合は文字列) であることを認識していることを意味しますが、エントリはありません (ロールに対してロールが返されないため)。空白のユーザー。

于 2012-10-29T12:27:01.527 に答える
3

これは文字列の空の配列です。次のような空の文字列配列を作成できます

string[] emptyArray = new string[0];
于 2012-10-29T12:27:18.997 に答える
2

Roles.GetRolesForUser(string)のドキュメントを見ると、文字列の配列が返されることがわかります。string[]

{string[0]}要素がゼロの配列があることを意味します。

于 2012-10-29T12:30:11.127 に答える
1

これは、イミディエイトウィンドウに文字列の空の配列が表示される方法です。

[Test]
public void StringsTest()
{
    var strings = new string[] {};
}

テストコードでは、IRolesをモックして、GetRolesForUser(username)に新しい文字列を返すようにすることができます[] {}

于 2012-10-29T12:31:20.407 に答える
1

これは、値が要素が 0 個の文字列の配列であることを意味します。

于 2012-10-29T12:43:36.293 に答える