子字符串功能不能在.net cf上使用?

| 净CF 我需要使用子字符串来捕获字符串的中间部分。
txtpart.Text = \"ab12345678cde\";
string item = txtpart.Text.Substring(2,8);
该输出应为12345678。 但是它总是抛出这个异常   System.ArgumentOutOfRangeException:指定的参数超出有效值范围。 除了子串还有其他功能吗?     
已邀请:
您的代码看起来不错。 查阅Daniel Moth的有关.net cf上的子字符串问题的博客 .net cf上的蛾子字符串错误 最好的祝福     
您的示例应返回
2345678c
而不是
12345678
,但这无关紧要。您拥有的代码是有效的,不应引发错误。您是否仅出于示例目的通过了
ab12345678cde
?您能告诉我们错误发生时真正传递的是什么吗? 您可以在这里查看代码的执行方式: http://ideone.com/jufd3 如果您的长度太长,我相信您会得到一个错误,但是不会看到一个错误。     
我知道这是一个老问题,但这可以帮助某人... 这是一个简单的函数,您可以在任何字符串的中间使用\“ get \”:
public static string getBetween(string strSource, string strStart, string strEnd)
    {
        int Start, End;
        if (strSource.Contains(strStart) && strSource.Contains(strEnd))
        {
            Start = strSource.IndexOf(strStart, 0) + strStart.Length;
            End = strSource.IndexOf(strEnd, Start);
            return strSource.Substring(Start, End - Start);
        }
        else
        {
            return \"\";
        }
    }
并使用它,您可以调用:
string mySelectedText = getBetween(txtpart.Text, \"b\", \"c\");
Debug.WriteLine(mySelectedText);
结果将是12345678 希望能帮助到你。问候     

要回复问题请先登录注册