c# - 我在起始索引上有一个子串错误

标签 c# asp.net

我的应用程序中不断出现此错误 这段代码的工作原理是多么简单的一小段

String lang = "Language.en-US".ToString();
appPath.Text = lang.Substring(2, lang.Length);//

错误

System.ArgumentOutOfRangeException: 
Index and length must refer to a location within the string

每次更改起始索引时都会出现错误,但如果我将其设置为 0,它会起作用,但我无法将起始索引更改为大于零的数字,有什么我可以下载的更新来解决这个问题我确定我的系统是错误的,我使用的是 .Net 4.0。

最佳答案

你应该把它改成

appPath.Text = lang.Substring(2, lang.Length - 2);

基本按照Substring方法文档

public string Substring(
    int startIndex,
    int length
)

startIndex + length 应小于字符串长度。

如果你总是想得到从第二个位置到最后的字符串,你应该使用重载版本的 Substring 也就是

public string Substring(
    int startIndex
)

关于c# - 我在起始索引上有一个子串错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8651687/

相关文章:

c# - resharper test runner - 如何按类别执行?

c# - 如果我不使用 Ajax 工具包,我可以将 CombineAndMinify 用于 asp.net

c# - 双击后 Devexpress GridContol 检查值变化

asp.net - Mono 中对 ASP.Net 的支持是否已停止?

c# - 使用 LINQ 对字符串数组进行排序

jquery - 使用 JQuery 从 .NET 下拉列表中获取选定值

c# - 在连接的节点之间画线

c# - Microsoft Sam,SAPI 替代品

javascript - ASP.NET:HtmlGenericControl <DIV> - 刷新

c# - 重定向到 URL - asp.net 与 MVC