2012-01-03 26 views

Trả lời

12

Tất nhiên rồi. Chỉ cần sử dụng chỉ đọc một dòng (sử dụng ReadLine() hoặc bất kỳ thứ gì khác bạn muốn) tại một thời điểm trong vòng lặp for (nếu bạn biết lúc bắt đầu đọc số dòng bạn cần) hoặc trong vòng lặp while (nếu bạn muốn dừng đọc khi bạn đạt đến EOF hoặc một đầu vào nhất định).

EDIT:

chắc:

while ((line = Console.ReadLine()) != null) { 
    // Do whatever you want here with line 
} 
+0

Tôi không biết làm thế nào để làm điều đó với vòng lặp trong khi, tôi không biết làm thế nào để kiểm tra xem có một dòng tiếp theo hay không! Một số gợi ý hoặc một ví dụ, xin vui lòng! – nenito

+1

Ok. Xem chỉnh sửa cho bài đăng ở trên. – Dan

+0

Cảm ơn, nó rất hữu ích, nhưng làm thế nào tôi có thể xác định dòng nào là dòng cuối cùng? Hiện tại chương trình sẽ đợi một dòng đầu vào mới. – nenito

1

Điều tốt nhất để làm ở đây là sử dụng một vòng lặp:

string input; 

Console.WriteLine("Input your text (type EXIT to terminate): "); 
input = Console.ReadLine(); 

while (input.ToUpper() != "EXIT") 
{ 
    // do something with input 

    Console.WriteLine("Input your text(type EXIT to terminate): "); 
    input = Console.ReadLine(); 
} 

Hoặc bạn có thể làm điều gì đó như thế này:

string input; 

do 
{ 
    Console.WriteLine("Input your text (type EXIT to terminate): "); 
    input = Console.ReadLine(); 

    if (input.ToUpper() != "EXIT") 
    { 
     // do something with the input 
    } 
} while (input.ToUpper() != "EXIT"); 
1

đơn giản ví dụ:

class Program 
{ 
static void Main() 
{ 
CountLinesInFile("test.txt"); // sample input in file format 
} 

static long CountLinesInFile(string f) 
{ 
long count = 0; 
using (StreamReader r = new StreamReader(f)) 
{ 
    string line; 
    while ((line = r.ReadLine()) != null) 
    { 
    count++; 
    } 
} 
return count; 
} 
} 
2

Một số các câu trả lời khác ở đây vòng lặp cho đến khi một dòng null được gặp phải trong khi những người khác mong đợi người dùng gõ một cái gì đó đặc biệt như "EXIT". Hãy ghi nhớ rằng đọc từ giao diện điều khiển có thể là một trong hai người đánh máy hoặc một tập tin đầu vào chuyển hướng:

myprog.exe < somefile.txt 

Trong trường hợp chuyển hướng Console.ReadLine đầu vào() sẽ trả về null khi nó chạm vào cuối của tập tin. Trong trường hợp người dùng chạy chương trình tương tác, họ sẽ phải biết cách nhập ký tự kết thúc của tệp (Ctrl + Z, sau đó nhập hoặc F6, sau đó nhập). Nếu đó là người dùng tương tác, bạn có thể cần cho họ biết cách báo hiệu kết thúc đầu vào.

Các vấn đề liên quan