C# IList<;字符串>;一个字符串接一个字符串
我有一个列表IList,我想连接所有字符串,我使用该代码,但结果是:C# IList<;字符串>;一个字符串接一个字符串,c#,C#,我有一个列表IList,我想连接所有字符串,我使用该代码,但结果是: Roles = String.Join(",",_userManager.GetRolesAsync(user)). System.Runtime.CompilerServices.AsyncTaskMethodBuilder1+AsyncStateMachineBox1[System.Collections.Generic.IList1[System.String],Microsoft.AspNetCore.Identit
Roles = String.Join(",",_userManager.GetRolesAsync(user)).
System.Runtime.CompilerServices.AsyncTaskMethodBuilder1+AsyncStateMachineBox
1[System.Collections.Generic.IList1[System.String],Microsoft.AspNetCore.Identity.UserManager
1+d\u 112
我通过以下代码修复它:
var roles = await _userManager.GetRolesAsync(user);
var role = "";
foreach (var r in roles)
{
if (!role.Contains(",")) { role = r; }
else { role = "," + r; }
}
vm.ApplicationUser = user;
vm.Roles = role;
我想知道为什么第一个代码不起作用。Roles=String.Join(“,”,wait\u userManager.GetRolesAsync(用户))
Roles=String.Join(“,”等待_userManager.GetRolesAsync(用户))
因为您需要等待任务
。因为您需要等待任务
。请确保在中调用此方法的方法返回任务并将其自身标记为异步。确保在中调用此方法的方法返回任务并将其自身标记为异步。