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

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

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

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

Q&A

解決済

1回答

578閲覧

テキストボックス内の文末を取得したい

yar

総合スコア16

C#

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

0グッド

0クリップ

投稿2021/07/15 11:09

VS2019C#FormApplicationで開発しています。

テキストボックス1とテキストボックス2にそれぞれ以下のように入力してそれぞれ1行ずつ取得しListに格納しようと思ったのですが、1つ気になることがありました。
1だと文末はCになるのですが2だと文末はcの次の行になるので取得する場合何もない箇所を空白として取得するのが正しいと考えました。実際に取得すると1と2どちらもcまでしか取得できず、2の文末を認識していないようでした。(読み込み方法はこちらのサイトを参考にしています。)

1と2の文末をそれぞれ取得し、もし文末の前に文字がない場合そこを空白にして取得したいのですが、やる方法がわかりません。どなたかご教授お願い致します。

テキストボックス1

C#

1a 2b 3c ←文末

テキストボックス2

C#

1a 2b 3c 4←文末

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

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

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

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

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

Zuishin

2021/07/15 11:16

POSIX の仕様ではテキストファイルは行の集合であり、各行は改行で終わります。 これに合わせたのではないしょうか。 つまり最終行は c であり、その次に行はありません。 c の行に改行が無かった場合もあるものとして扱うのが便利なので、たいていのアプリでは改行のない最終行をちゃんと行として扱うようになっています。
yar

2021/07/15 11:28 編集

>>Zuishin様 回答、解説ありがとうございます。 つまり2は自動的VS上でcが最終行だと認識していて1と2では同じになっているという解釈で問題ないでしょうか?
Zuishin

2021/07/15 11:32

回答はしていません。実際にどのような挙動になるかを自分で確かめたのであればそれが全てです。 私の書いたものは「なぜ」の理由を推測したものにすぎません。
Zuishin

2021/07/15 11:37 編集

なおそこで使われている ReadLine は改行を除去するため、これを使う限り区別することはできません。 ReadAllText を使うべきでしょう。
KIYOSHI

2021/07/15 13:41

どのようなソースでためされましたか?
guest

回答1

0

自己解決

テキストボックス内の情報をLinesを使い取得して解決しました。

投稿2021/07/20 10:25

yar

総合スコア16

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問