有一个愚蠢的日子。
我有以下代码:
UserRoles = Roles.GetRolesForUser(username);
如果username是一个空字符串(“”,用户未登录),那么当我在即时窗口中检查UserRoles
的值时,它会显示:
{string[0]}
什么是{string[0]}
?
我如何复制此值以测试我的代码是否存在用户未登记的情况(用户名==“”)?
注意:我已经谷歌搜索但无济于事。
答案 0 :(得分:9)
GetRolesForUser返回一个角色数组,因此立即窗口中的“String [0]”只表示它知道返回类型是一个数组(在本例中为字符串),但是没有任何角色返回给空白用户。
答案 1 :(得分:3)
这是一个空字符串数组。您可以创建一个空字符串数组,如
string[] emptyArray = new string[0];
答案 2 :(得分:2)
如果查看Roles.GetRolesForUser(string)的文档,您会看到它返回一个字符串数组:string[]
{string[0]}
表示您有一个零元素的数组。
答案 3 :(得分:1)
立即窗口显示空字符串数组的方式如下:
[Test]
public void StringsTest()
{
var strings = new string[] {};
}
在您的测试代码中,您可以Mock IRoles并让GetRolesForUser(用户名)返回新字符串[] {}
答案 4 :(得分:1)
这意味着该值是一个包含0个元素的字符串数组