PDA

View Full Version : سوال: خواندن یک آرایه عددی با دو ستون از فایل تکست



majid zarei
سه شنبه 27 تیر 1391, 12:32 عصر
سلام. من یک فایل txt دارم که توش یک آرایه 2 بعدی double نوشته شده است . به شکل زیر :

12 32
12 10
0 2
...
...

برای اینکه این آرایه را به درستی بخونم ، یک کد می خوام. البته قبلا یک آرایه تک ستونی را با دستور ReadLine میخواندم و به Double تبدیل می کردم.
ممنون از دوستان:متفکر:

mehdi.mousavi
سه شنبه 27 تیر 1391, 12:49 عصر
سلام.
برای اینکار (و با استفاده از LINQ) می تونید بدین شکل عمل کنید:

var results = File.ReadLines(@"d:\temp.txt").Select(l => l.Split(' ')).Select(tokens => new
{
Param1 = Convert.ToDouble(tokens[0]),
Param2 = Convert.ToDouble(tokens[1])
}).ToList();


این به شما List ای از Anonymous Object هایی میده که Param1 اونها به ستون سمت چپ و Param2 اونها به ستون سمت راست اعداد اشاره می کنه.

موفق باشید.

alitavakoli
سه شنبه 27 تیر 1391, 12:51 عصر
برای این کار میتونی هر لاین رو بخونی و با تابع split از هم جدا شون کنی:نمونه کد:
StreamReader sr = new StreamReader(path);
while ((currentline = sr.ReadLine()) != null)
{
string[] strarray =currentline.Split(' ');
double frstnumber = double.Parse(strarray[0]);
double secnumber = double.Parse(strarray[1]);
....

majid zarei
سه شنبه 27 تیر 1391, 13:06 عصر
با سلام.
من نتونستم این کد رو راه بندازم. متغیر File چه متغیری هستش؟
ببخشید از اینکه سوالات من ابتدایی هست.
ممنون.