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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

並列処理

複数の計算が同時に実行される手法

非同期処理

非同期処理とは一部のコードを別々のスレッドで実行させる手法です。アプリケーションのパフォーマンスを向上させる目的でこの手法を用います。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

Q&A

解決済

2回答

2803閲覧

複数の処理を一つの処理にまとめる方法を教えてください

indoorReport

総合スコア-1

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

並列処理

複数の計算が同時に実行される手法

非同期処理

非同期処理とは一部のコードを別々のスレッドで実行させる手法です。アプリケーションのパフォーマンスを向上させる目的でこの手法を用います。

文字コード

文字コードとは、文字や記号をコンピュータ上で使用するために用いられるバイト表現を指します。

WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

0グッド

0クリップ

投稿2020/09/17 03:19

Visual Studio 2019に於いて、複数の処理を一つに纏めて処理して表示する方法が分かりません。どのようなコントロールを配置すればいいのか教えてください。出来たら、コードの記載もお願いします

・Visual Studio 2019 WPFを使用
・入力した文字列を逆順表示
・入力した文字列のスペースを削除

(例)
123△あいう△456(三角形:スペース)

654ういあ321

private void button1_Click(object sender, EventArgs e) { string textValue = textBox1.Text; //入力したテキストを逆並び変換 textValue = string.Concat(textBox1.Text.Reverse()); //入力したテキストの空白を削除する textValue = string.Concat(textBox1.Text.Replace(" ", "").Replace(" ", "")); textBox2.Text = textValue; }

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

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

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

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

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

hihijiji

2020/09/17 03:31

ご提示のコードの何が問題なのですか?
indoorReport

2020/09/17 03:36

提示したコードだと並行処理が出来ません
hihijiji

2020/09/17 03:44

並行処理とは何のことですか?
indoorReport

2020/09/17 03:46

正:並列処理 誤:並行処理
kikukiku

2020/09/17 03:56

hihijijiさんが指摘しているのは、並行処理を行う必要がないのではと言っていると思います。
indoorReport

2020/09/17 04:09

ならば並列処理を行わずに処理する方法をお願いします
dodox86

2020/09/17 04:11

更に質問中で疑問なのが > どのようなコントロールを配置すればいいのか教えてください。 ここで言うコントロールとはTextBoxのようなものを指していると思いますが、コントロールは関係ありますか?
indoorReport

2020/09/17 04:14

はい。TextBoxに配置できる方法を探しています
SHOMI

2020/09/17 04:19

もしかして同じ処理をtextBox1だけではなく、複数のテキストボックスに対して実行したいという質問ですか?
indoorReport

2020/09/17 04:24

TextBox1に含まれている複数の処理を、TextBox2にひとまとめで処理して表示出来るようにしたいです
indoorReport

2020/09/17 05:18

文字列「123△あいう△456(三角形:スペース)」が「入力した文字列の逆順表示」と「入力した文字列のスペースを削除」する処理がされると、TextBox2に「654ういあ321」と表示されるようにしたいのですが、そのコードが全く分かりません
kikukiku

2020/09/17 06:04

操作手順を示してください。 下記であっていますか? 操作1:TextBox1に「123△あいう△456(三角形:スペース)」を入力する 操作2:ボタンを押下する 操作3:TextBox2に「654ういあ321」が表示される
hihijiji

2020/09/17 06:19

ひょっとしたらkikukikuさんの操作2を省きたいってことかな?
kikukiku

2020/09/17 06:23

かもしれないと思っているのですが、回答を待ちたいですね。
indoorReport

2020/09/17 22:19

操作手順は操作1→2→3で合ってます
guest

回答2

0

ConcatのtextBox1をtextValueに変換しました

public

1 { 2 public Form1() 3 { 4 InitializeComponent(); 5 } 6 7 private void button1_Click(object sender, EventArgs e) 8 { 9 string textValue = textBox1.Text; 10 //入力したテキストを逆並び変換 11 textValue = string.Concat(textValue.Reverse()); 12 //入力したテキストの空白を削除する 13 textValue = string.Concat(textValue.Replace(" ", "").Replace(" ", "")); 14 textBox2.Text = textValue; 15 //コントロールを同時に処理する 16 } 17 18 private void Form1_Load(object sender, EventArgs e) 19 { 20 textBox1.Text = ""; 21 } 22 } 23コード

投稿2020/09/28 07:02

indoorReport

総合スコア-1

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

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

0

ベストアンサー

cs

1textValue = string.Concat(textBox1.Text.Replace(" ", "").Replace(" ", ""));

は、textBox1に入っている文字列の空白を削除しtextValueに代入します(Concatはいらないが、あってもエラーではないです)
つまり前の行でやった逆並び変換は、上書きされてなかったことになってしまいます。

目的の処理をわかりやすく各変数を割り当てるとこうなります。

cs

1private void button1_Click(object sender, RoutedEventArgs e) 2{ 3 // textBox1に入力したテキストを取得 4 string inputText = textBox1.Text; 5 6 //取得した文字列を逆並びに変換 7 string reverseText = string.Concat(inputText.Reverse()); 8 9 //逆並びした文字列の空白を削除 10 string trimText = reverseText.Replace(" ", "").Replace(" ", ""); 11 12 //空白を削除した文字列をtextBox2に出力 13 textBox2.Text = trimText; 14}

この程度の処理であれば変数名を考えるのも手間なので、同じ変数に再代入することもあります。

cs

1private void button1_Click(object sender, RoutedEventArgs e) 2{ 3 // textBox1に入力したテキストを取得 4 string text = textBox1.Text; 5 6 //取得した文字列を逆並びに変換 7 text = string.Concat(text.Reverse()); 8 9 //逆並びした文字列の空白を削除 10 text = text.Replace(" ", "").Replace(" ", ""); 11 12 //空白を削除した文字列をtextBox2に出力 13 textBox2.Text = text; 14}

自分ではわかりきっているところ(textBox1からtextBox2に入れる)を省いて、このくらいにしてもいいでしょう。

cs

1private void button1_Click(object sender, RoutedEventArgs e) 2{ 3 //逆並び変換 4 string text = string.Concat(textBox1.Text.Reverse()); 5 //空白を削除 6 textBox2.Text = text.Replace(" ", "").Replace(" ", ""); 7}

1行で書くこともできますが、やりすぎるとわかりにくくなります。

cs

1private void button1_Click(object sender, RoutedEventArgs e) 2{ 3 textBox2.Text = string.Concat(textBox1.Text.Reverse()).Replace(" ", "").Replace(" ", ""); 4}

改行(\r\n)がある場合は、もうひと手間入れる必要がありますね。

投稿2020/09/17 08:47

編集2023/07/23 06:09
TN8001

総合スコア9862

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問