相关疑难解决方法(0)

子串长度错误

我一直在收到错误

mscorlib.dll中发生未处理的"System.ArgumentOutOfRangeException"类型异常

在我的代码中输入超过70个字符的值时,有人可以解释原因吗?

namespace testingStrategiesCoding
{
    class Program
    {
        static void Main(string[] args)
        {
            string userMessage;
            int messageLength;
            string newMessage1;
            string newMessage2;
            string newMessage3;

            Console.WriteLine("Enter a message");
            userMessage = Console.ReadLine();

            messageLength = userMessage.Length;

            if (messageLength < 71)
            {
                Console.WriteLine("");
                Console.WriteLine(userMessage);
            }

            else if (messageLength > 70 && messageLength < 141)
            {
                newMessage1 = userMessage.Substring(0, 70);
                newMessage2 = userMessage.Substring(71, messageLength);
                Console.WriteLine("");
                Console.WriteLine(newMessage1);
                Console.WriteLine("");
                Console.WriteLine(newMessage2);
            }

            else if (messageLength > 140 && messageLength < 211)
            {
                newMessage1 = userMessage.Substring(0, 70);
                newMessage2 = …
Run Code Online (Sandbox Code Playgroud)

c#

-1
推荐指数
1
解决办法
147
查看次数

获得例外索引超出范围.仍然无法弄清楚如何解决它

private int numberofallmessages = 0;
        private int countMsg = 0;

        private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
        {
            OpenPop.Pop3.Pop3Client PopClient = new OpenPop.Pop3.Pop3Client();
            PopClient.Connect("mail", 110, false);
            PopClient.Authenticate("r", "n",
                OpenPop.Pop3.AuthenticationMethod.UsernameAndPassword);
            List<string> uids = PopClient.GetMessageUids();
            int messageCount = PopClient.GetMessageCount();
            numberofallmessages = messageCount;
            allMessages = new List<OpenPop.Mime.Message>(messageCount);
            for (int i = messageCount; i > 0; i--)
            {
                if (backgroundWorker1.CancellationPending == true)
                {
                    e.Cancel = true;
                    return;
                }
                string currentUidOnServer = uids[i];
                if (!seenUids.Contains(currentUidOnServer))
                {
                    if (i > 0)
                        allMessages.Add(PopClient.GetMessage(i));
                    SaveFullMessage(PopClient.GetMessage(i), i);
                    w = new …
Run Code Online (Sandbox Code Playgroud)

.net c# winforms

-2
推荐指数
1
解决办法
125
查看次数

获取“索引超出数组范围”。在 C# 中使用 foreach 循环时

我在尝试使用 foreach 循环打印数组值时在运行时收到“System.IndexOutOfRangeException:'索引超出数组范围。'”错误。我在 Visual Studio 中调试了问题,可以看到 foreach 中的 i 将持续到超出范围的 7。foreach 循环会自动获取数组的所有元素,所以请帮助我理解错误的原因?下面是函数:

    void Sort(int[] A)
    {
        for (int i = 1; i < A.Length; i++)
        {
            int key = A[i];
            int j = i - 1;
            while (j >= 0 && A[j] > key)
            {

                A[j + 1] = A[j];
                j = j - 1;
            

            }
            A[j + 1] = key;
        }

        foreach (int i in A)
            Console.Write(A[i].ToString());

    }

}
Run Code Online (Sandbox Code Playgroud)

}

c# foreach indexoutofboundsexception

-2
推荐指数
1
解决办法
740
查看次数

数组上的IndexOutOfRangeException

int[] arr=new int[10]{1,21,32,43,54,65,76,87,98,10};

foreach(var i in arr)
{
   Console.WriteLine("Elements [{0}]:{1}",arr[i],i);              
}
Run Code Online (Sandbox Code Playgroud)

我希望输出像

element[0]: 1
element[1]: 21
...
element[9]: 10 
Run Code Online (Sandbox Code Playgroud)

foreach仅使用,但我收到此错误:

未处理的异常:System.IndexOutOfRangeException:索引超出了数组的范围.在Exercise1.Main()<0x41e47d70 + 0x0008c> in:0 [错误]致命未处理的异常:System.IndexOutOfRangeException:索引超出了数组的范围.在Exercise1.Main()<0x41e47d70 + 0x0008c> in:0

c# arrays

-3
推荐指数
1
解决办法
567
查看次数

C#中负数组索引的行为

我是C#的新手.我知道C和C++语言.目前我有一个C#相关项目.所以,我只想了解C#的基本概念.

在C#中,如果我给出负数组索引,那么会发生什么?它是未定义的行为吗?

喜欢 :

int [] arr = {1,2,3};
Console.WriteLine("{0}", arr[-1]);
Run Code Online (Sandbox Code Playgroud)

c# arrays

-7
推荐指数
1
解决办法
1432
查看次数

C# 中的打破驼峰式大小写函数

我试图在代码战争中解决这个问题,但我不知道它出了什么问题。错误说:

System.ArgumentOutOfRangeException:长度不能小于零。

参数名称:长度

我将不胜感激任何帮助

public static string BreakCamelCase(string str)
{   
    if (str.Length < 1) 
        return "";
   
    var res = "";

    foreach (var c in str)
    {
        if (char.IsUpper(c))
            res = str.Substring(0,str.IndexOf(c)) + " " + str.Substring(str.IndexOf(c));

        str = res;
    } 
            
    return res;
}
Run Code Online (Sandbox Code Playgroud)

c# camelcasing

-8
推荐指数
1
解决办法
1106
查看次数