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

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

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

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

Visual Studio

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

Q&A

解決済

1回答

1832閲覧

データセットによるデータベースプログラミングのコード内容を教えてください。(バインディングナビゲーター削除)

shinyakita

総合スコア39

C#

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

Visual Studio

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

0グッド

0クリップ

投稿2017/11/19 06:09

Visual C# 2017パーフェクトマスターという書籍で勉強中です。
「データセットによるデータベースプログラミングの作成」というチャプターでまず、ウィザードを使いDataGridViewでテーブルデータを表示させさらにBindingNavigatorを削除しコードを修正して読込ボタンと更新ボタンを作成しております。
private void tableBidingNavigatorSaveItem_Clic(object sender,EventArgs e)
からはじまる数行BindingNavigatorに関するクラスを削除したりややこしい手順で整理できておりません。
最初から使わないやり方はないのでしょうか?と思っておりますがそれは後程調べて勉強してみます。
なぜかこのチャプターだけコードの詳しい解説がなくいったい何をしているのか特に更新のコードが理解できず困っております

<更新ボタンのイベントハンドラーコード>

1 try
2 {
3 this.Validate();
4 this.tableBindingSource.EndEdit();
5 this.tableTableAdapter.Update(this.database1DataSet.Table);
6 MessageBox.Show("Update successfull!");
7 }
8 catch (System.Exception ex)
9 {
10 MessageBox.Show("Update failled");

tryで3行目、4行目の更新が成功した場合は6行目を表示
8行目でエラーをキャッチし場合は10行目を表示

このコードのメインの3行目及び4行目で初めて使う「this」に対する説明がなく何をしているのか?理解できず先に進めません。

よろしければご協力をお願い致します。

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

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

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

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

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

guest

回答1

0

ベストアンサー

こんにちわ
this キーワードは自身のインスタンスを指定するキーワードです。
抜粋されたコードを拝見すると付けても付けなくても同じ挙動になると思われます。

因みに、thisキーワードはC#の標準されている予約語ですのでちょっと調べてみればでてくると思います。
http://www.wisdomsoft.jp/183.html

teratail内にも似たような質問がありますので是非調べてみてください。
https://teratail.com/questions/29669

投稿2017/11/20 02:07

TAKAYASU

総合スコア146

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

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

shinyakita

2017/11/20 02:49

ありがとうございます。 調べたのですが、どういうケースでthisを使うの私には理解できませんでした。 教えて頂いたサイトを見ても何となく理解出来た程度ですのでまだまだ、用語を正しく理解できていないようです。 コンストラクタ??継承??と言った用語を再度勉強し直します。
TAKAYASU

2017/11/20 02:53

コンストラクタや継承はC#に限らず出てくる共通の項目ですので是非習得してください。 上記の本ですと項番3.1.5、3.5に載ってると思います。
shinyakita

2017/11/20 12:02 編集

はい。 ありがとうございます。 使用中の書籍のチャプターまで調べて調べて頂き助かります。 一度は読んでいるのですが、いったい何を言いたいのか理解出来ずネットで、調べているとまたわからない用語が出てきての繰り返しで混乱中です。 私は学校のクラスをイメージして覚えてます。 クラス 3年1組 メソッド ○○さん プロパティ ○○さんの係や役割 3年2組に同じ名前の人いてもクラスが違うから混乱しない。 この様な感じで覚えてますが、中々理解出来ません。 図解でわかりやすいサイトがないか探していますが、中々見つかりません。 用語をしっかり覚えないとコード書けないですよね。 再度チャプター3を勉強します。 オブジェクト指向を理解しないと先に進んでも行き詰まりますよね?
TAKAYASU

2017/11/21 01:21

thisについてはそのような考え方でも問題ないです。 あくまで自論ですが ネットで調べて用語をしっかり覚える事もいいですが、プログラミングは実際にプログラムを組んで処理を追ったほうが理解の近道になります。 処理を追っていく中でわからないことが出たらそこで初めて疑問が明確になり、解決への糸口をつかみやすくなります。 オブジェクト指向の理解は大事です。 オブジェクト指向は筆箱のようなものと考えてます。 筆箱の中にはシャープペンシル・鉛筆・消しゴム・ボールペン等様々な物が入っていて それらを使うためには筆箱を開く必要がある。(new) また、筆箱とその中身は自身で作ることもできる。 最初はわからない単語だらけで大変だと思います。(自身も最初の頃はわからないことを調べるためにブラウザのタブが20個になった経験があります(笑)) 早く覚えるより確実に覚える事のほうが大切ですのでじっくり時間をかけて理解してください。
shinyakita

2017/11/22 14:30

返信遅くなり申し訳ありません。 筆箱の例えすごくよくわかりました。 なるほど!!と色々なものがつながったような気がします。 習うより慣れろですね。 まずは書籍のコードを入力し構文を覚えるよりも(構文はリファレンス等見ればわかるはず)これはこういう動きするのか、なぜこんな事をするのだろ?と試行錯誤しながら入力し実行してます。 そしてオブジェクト指向のチャプターで「なせこんな事をするんだろ?」が解決できずにいます。 まずは、C#の構造とオブジェクト指向の概要を再度戻って勉強してます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問