5

设置:

度过了愚蠢的一天。

我有以下代码:

UserRoles = Roles.GetRolesForUser(username);

问题:

如果用户名是空字符串(“”,用户未登录),那么当我检查UserRoles即时窗口中的值时,它会显示:

{string[0]}

问题:

是什么{string[0]}

如何复制此值以针对未登录用户(用户名 ==“”)的情况测试我的代码?

注意:我已经搜索过这个但无济于事。

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) return new string[] {}

于 2012-10-29T12:31:20.407 回答
1

这意味着该值是一个字符串数组,其中包含 0 个元素

于 2012-10-29T12:43:36.293 回答