خطا Value cannot be null. Parameter name: format در آرایه ؟!! - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

خطا Value cannot be null. Parameter name: format در آرایه ؟!!

+1 امتیاز

سلام , چرا این برنامه ای که نوشتم خطا میده؟ !! ممنون.

خطاش هم اینه : Value cannot be null.

Parameter name: format
 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = Console.ReadLine();
             s.Split(' ');
            string[] a = new string[s.Length ];
            for (int i = 0; i < a.Length; i++)
                Console.Write(s[i]);

            for (int i = 0; i < a.Length; i++)
            {
                Console.WriteLine(a[i],a[i++]);
            }



            Console.ReadKey();

        }
    }
}

 

سوال شده اسفند 28, 1392  بوسیله ی daniyaltjm (امتیاز 840)   47 88 103
ویرایش شده اسفند 28, 1392 بوسیله ی BlueBlade

2 پاسخ

+1 امتیاز
 
بهترین پاسخ

این 2 خط رو بردار

  s.Split(' ');
  string[] a = new string[s.Length];

به جاش اینو بزار

 string[] a = s.Split();

شرط حلقه for اول رو هم بزار s.length>

     for (int i = 0; i < s.Length; i++)
                Console.Write(s[i]);

بقیه کدتون مشکلی نداره البته  چون داخل for دوم i رو 2 بار ++ می کنین کلمه ها یک در میون چاپ میشن .

پاسخ داده شده اسفند 28, 1392 بوسیله ی PSPCoder (امتیاز 1,301)   14 40 57
انتخاب شد اسفند 28, 1392 بوسیله ی daniyaltjm
یعنی مشکلی هست که باید به جای ++ از +1 استفاده کنم؟  من باید تعداد ترکیبات کاراکترهای ورودی رو بدست بیارم این تازه اول برنامه بود و باید روش کار کنم . اگه کمک کنی ممنون میشم.
+2 امتیاز

این خط مشکل داره

      for (int i = 0; i < a.Length; i++)
            {
                Console.WriteLine(a[i],a[i++]);
            }

باید به این شکل باشه :

      for (int i = 0; i < a.Length-1; i++)
            {
                Console.WriteLine(a[i],a[i+1]);
            }

در ضمن اگر می خواهید رشته رو بر اساس فاصله جدا کنید که کلا کد بالا اشتباهه 

به این شکل عمل کنید

            string s = Console.ReadLine();
            string[] a = s.Split(' ');
         
            for (int i = 0; i < a.Length; i++)
            {
                Console.WriteLine(a[i]);
            }

 

پاسخ داده شده اسفند 28, 1392 بوسیله ی black_man (امتیاز 39)   2 4 5
چرا با a[i++] مشکل داره؟ و باید به صورت a[i+1] باشه؟
الان مشکل این شد
Index was outside the bounds of the array.
...