本文介绍了输入字符串格式不正确的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

代码:

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

推荐答案

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



这篇关于输入字符串格式不正确的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-21 13:34