teratail header banner
teratail header banner
質問するログイン新規登録

質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.30%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

3回答

2453閲覧

C#でファイルを指定した文字がある場所まで1行ずつ読み込みたい

um327

総合スコア12

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

1クリップ

投稿2018/12/18 07:43

0

1

毎度お世話になっております。

C#でファイルを1行ずつ読み込む際に、指定した文字がある場合にそのあとに文字があっても読み込みを終了させるソースを作成したいです。

例えば、ファイル内に"End"という文字列があればそのあとに文字があっても読み込みを終了させる。

1行ずつ読み込むやり方、ReadToEnd()を使用したやり方は分かるのですが、今回のやり方は分からず困っていました。

何か参考にさせて頂けるソースやサイトはありますでしょうか。

ご教授よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

papinianus

2018/12/19 04:54

Endは含んでよいのでしょうか?
guest

回答3

0

・1行読み込む
・読み込んだ文字列に指定文字列があるかチェック
・ない場合は繰り返し
・終了する

ってこんな感じでどうでしょうか

投稿2018/12/18 07:49

y_waiwai

総合スコア88173

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

um327

2018/12/18 07:54

y_waiwai様は毎度お世話になっております。 迅速なご対応本当にありがとうございます。 フローは分かったので、実践してみます。
len_souko

2018/12/19 00:40

プログラムに限らず日常の行動でも例えば「買い物に行く」だけでも実際には ・何を買うのか決める ・どこへ買いに行くのかを決める ・お店へ移動する(移動手段の選別と実行に分割できます) ・実際に買うものをかごへ入れていく ・追加で買うものがあればそれもかごへ入れる(予定外だけど必要かどうかの判定処理もこの中にあります) ・レジへ移動する ・支払いを済ませる(支払いの処理でも複数分割できます) ・袋に詰めなおす ・お家へ帰る といった感じで分割できます このように、やりたいことを一発でできずとも細かく分割すればできますので、y_waiwai氏の回答のようにやりたいことをできる処理で分割するようにする癖を身につけましょう
guest

0

投稿2018/12/18 07:46

編集2018/12/18 07:47
YAmaGNZ

総合スコア10623

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

カレントディレクトリにある ConsoleApp1.exe.config を </configuration> が出てくるまで読むには次のようにします。

C#

1var lines = File 2 .ReadLines("ConsoleApp1.exe.config") 3 .TakeWhile(a => a != "</configuration>") 4 .ToArray(); 5 6foreach (var line in lines) 7{ 8 Console.WriteLine(line); 9}

投稿2018/12/19 04:48

Zuishin

総合スコア28675

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Zuishin

2018/12/19 04:53

File.ReadLines はファイルを一行ずつ読んで列挙します。IEnumerable<string> を返すので、必要なところだけ読んで不要なところは無視します。 TakeWhile は条件を満たす間列挙します。ここでは行の内容が </configuration> になるまで読んでいます。 ToArray は読んだものをメモリ内に配列といて保存します。これをつけなくても動作は同じになりますが、その場合は中身を見るたびにファイルを開くことになります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問