【问题标题】:Getting out of range exception in Substring c#在子字符串 c# 中出现超出范围异常
【发布时间】:2018-03-27 12:14:10
【问题描述】:

我正在尝试从“//”的最后一个索引打印文件名,直到文件长度。
文件长度为 83 最后一个索引为 47 那么我在这里做错了什么

int idx = file.LastIndexOf('\\');
int fl=   file.Length;
string filename = file.Substring(idx, fl);

【问题讨论】:

标签: c# string substring


【解决方案1】:

Substring 不是“从”、“到”而是“从”、“长度”。

从索引 47 和 83 个字符开始的长度超出了当前字符串的范围。

如果您仍然想要字符串的其余部分,请使用

string filename = file.Substring(idx);

也就是说,C# 有很好的 API 来执行此操作。尽可能使用Path 类,不要手动执行此操作。

【讨论】:

    【解决方案2】:

    首先查看子字符串参数

    public string Substring(
    int startIndex,
    int length
    

    ) 起始索引为 47,长度为 83

    如果你想获取文件名,你可以使用GetFileName

    【讨论】:

    • 在发布新答案之前查看可用答案
    • 当我开始输入时没有可用的答案,但谢谢
    • 我建议不要完全回答基本问题。正如 Tim 所说,这是一个“rtfm 问题”,并不真正需要答案,而是一个近距离投票(你会得到那些声誉更高的人)。
    猜你喜欢
    • 1970-01-01
    • 2014-08-27
    • 1970-01-01
    • 1970-01-01
    • 2016-05-18
    • 2014-07-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多