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

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

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

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

WPF

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

Q&A

1回答

917閲覧

C# デリゲート、ラムダ式を使用する必要性について

rumippu

総合スコア26

C#

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

WPF

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

0グッド

1クリップ

投稿2020/04/12 13:19

C#によるWPFプログラム初心者です
下記サイトを参考に、勉強しております。
https://qiita.com/Kosen-amai/items/c2542fe0d0b62d108096

その際、小文字<->大文字変換の関数を
デリゲート、ラムダ式による関数を用いているのですが、
なぜこのような回りくどいことをしなければいけないのでしょうか。

特に

try { // 文字列を受け取り、変換後の文字列を返す txtOut.Text = conv(txtIn.Text); } catch (Exception ex) { // エラー MessageBox.Show(ex.Message); }

この部分なんてtxtOut.Text = txtIn.Text.ToUpper();を大文字変換ボタンを押したときのイベント処理に
記載するだけでよくないですか?

以上、よろしくお願いいたします。

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

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

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

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

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

Zuishin

2020/04/12 13:56 編集

シリーズを全部読んで聞いてみたらどうですか? このページだけパッと見たところ、初心者の書いた記事ですが、もしかしたら後に何かあるのかもしれません。 こう書いてもう少しよく読んでみると、最初のほうにこう書いてありました。 > 今回は文字列の変換ツールを作りながら処理の共通化を学びます。 つまり処理の共通化を学ぶのが記事の主眼ということです。「なぜしなきゃいけないのか」は関係なく、方法を説明するためだけに採用した方法ということです。
len_souko

2020/04/12 14:04

そもそも、記事に対する意見なら記事の方へコメントで質問したらどうですか? 質問の形をしてるけど晒して馬鹿にするのが目的で書いているように感じます わざわざ別サイトに書く必要はないですよね?
guest

回答1

0

デリゲート、ラムダ式による関数を用いているのですが、

なぜこのような回りくどいことをしなければいけないのでしょうか。

「しなければいけない」なんて事はないです。
ちゃんと目的を達成できるのであれば好きなようにやればいいです。

単純にこの記事は

入力チェック → 左のテキストボックスを何らかの変換をかけて右のテキストボックスに設定

という流れは同じです。
この流れをメソッドにしてしまいましょう。

という趣旨だからそうしてるんじゃないですか。


追記

せっかくコメントが書けるQiitaの記事なんだから、ここで質問するのではなく著者に直接質問すればいいと思いますが。
そうすれば確実な回答が得られます。

投稿2020/04/12 13:55

編集2020/04/12 14:00
gentaro

総合スコア8949

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問