简体   繁体   English

输入的字符串格式不正确(C#)

[英]Input string was not in a correct format (c#)

After running the page on a browser, i get the: Input string was not in a correct format. 在浏览器上运行页面后,我得到:输入字符串格式不正确。

List<int> TheGroupIds = new List<int>();
if (Request.QueryString["MultiAssignInteractionGrouIds"] != null 
    && Request.QueryString["MultiAssignInteractionGrouIds"] != "" 
    && Request.QueryString["MultiAssignInteractionGrouIds"] != "-2")
{
    string GroupIds = Request.QueryString["MultiAssignInteractionGrouIds"];
    TheGroupIds = GroupIds.Split(',').Select(int.Parse).ToList(); <= 'The error is HERE' 
    TheGroupIds = TheGroupIds.Distinct().ToList();
}  

Only the debugger knows, but maybe you have values like "1,2,,3,4" , then use this Split : 只有调试器知道,但是也许您有像"1,2,,3,4"这样的值,然后使用以下Split

string groupIds = Request.QueryString["MultiAssignInteractionGrouIds"];
if (!string.IsNullOrEmpty(groupIds) &&  groupIds != "-2")
{
    TheGroupIds = groupIds.Split(new[]{ ','}, StringSplitOptions.RemoveEmptyEntries)
     .Select(int.Parse)
     .Distinct()
     .ToList(); 
}

String contains not only intgeres. 字符串不仅包含整数。 You can filter you text or use this converter: 您可以过滤文本或使用此转换器:

public static int? ToNullableInt(this string s)
{
    int i;
    if (int.TryParse(s, out i)) return i;
    return null;
}

And the filter nullable values. 和过滤器可为空的值。 Usages: 用途:

var result = text.Split(';').Select(x => x.ToNullableInt()).Where(y => y != null).ToList();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM