输入字符串格式不正确 [英] Input string was not a correct format
问题描述
代码:
public bool SharedUsers(string strPermission,int userId)
{
string sharedUsers =;
bool isShared = false;
if(strPermission ==|| strPermission == null)
{
isShared = false;
}
else
{
JObject objParam = JObject.Parse(strPermission);
JToken aggregateToken = objParam.SelectToken(specificUsers);
foreach(在aggregateToken中的var项目)
{
sharedUsers + = item.SelectToken(users)。值< string>()+,;
}
if(sharedUsers!= string.Empty)
{
sharedUsers = sharedUsers.TrimEnd(',')。TrimStart (',');
if(sharedUsers!=)
{
int [] arrUsers = sharedUsers.Split(', ')。选择(x => 。Convert.ToInt32(X))ToArray的(); //这里发生了错误
isShared =(arrUsers.Contains(userId)|| arrUsers.Any(x => AppSession.User.UserGroups.Contains(x)));
}
}
}
返回isShared;
}
我尝试了什么:
输入字符串不是发生了正确的格式错误
code:
public bool SharedUsers(string strPermission, int userId)
{
string sharedUsers = "";
bool isShared = false;
if (strPermission == "" || strPermission == null)
{
isShared = false;
}
else
{
JObject objParam = JObject.Parse(strPermission);
JToken aggregateToken = objParam.SelectToken("specificUsers");
foreach (var item in aggregateToken)
{
sharedUsers += item.SelectToken("users").Value<string>() + ",";
}
if (sharedUsers != string.Empty)
{
sharedUsers = sharedUsers.TrimEnd(',').TrimStart(',');
if (sharedUsers != "")
{
int[] arrUsers = sharedUsers.Split(',').Select(x => Convert.ToInt32(x)).ToArray(); //here the error is occured
isShared = (arrUsers.Contains(userId) || arrUsers.Any(x => AppSession.User.UserGroups.Contains(x)));
}
}
}
return isShared;
}
What I have tried:
Input string was not a correct format error occured
推荐答案
您可以使用以下解决方案,如果字符串包含空,则它将自动从列表中删除。这是工作示例。
You can use following solution, if the string contains empty then it will automatically removed from the list. This is working example.
string sharedUsers = "1,2,3,5,4,5,6,7,8,10,";
int[] arrUsers = sharedUsers.Split(new string[] { "," }, System.StringSplitOptions.RemoveEmptyEntries).Select(x => System.Convert.ToInt32(x)).ToArray();
问候,
Imdadhusen
Regards,
Imdadhusen
然后很明显,逗号分隔字符串中的一个值不是整数。
使用调试器,查看输入字符串,看看是否可以找出哪一个。然后开始查看sharedUsers
的来源,并找出原因并不符合你的想法。
我们不能为您做任何事情 - 我们没有您的代码,我们没有您的数据,如果我们这样做,我们就无法运行它!
Then clearly one of the values in your comma delimited string is not an integer.
Use the debugger, look at your input string and see if you can work out which one. Then start looking at wheresharedUsers
comes from, and work out why it isn't what you think it is.
We can't do any of that for you - we don't have your code, we don't have your data, and we couldn't run it if we did!
这篇关于输入字符串格式不正确的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!