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

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

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

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

Q&A

解決済

2回答

460閲覧

C# this は、別の表現は出来ないのでしょうか?

miya38

総合スコア13

C#

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

0グッド

0クリップ

投稿2020/03/28 13:50

C# this は、別の表現は出来ないのでしょうか?

C#での勉強を始めて直後で、this というものが分からないのですが、
なんとなく、『自分自身』という事みたいなのですが、

https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/this
に記載されていたコードですが、

this.name の this の記述部分ですが、そのものを示す記述方法は、無いのでしょうか?
『this が、そのもの』ですと言われそうですが、

例えば、下記のコードなのですが、
this.name

Employee.name

とか、そのものを表す記述方法は、存在しないのでしょうか?

Employee.name では、エラーになってダメでした。

該当のソースコード

C#

1public class Employee 2{ 3 private string alias; 4 private string name; 5 6 public Employee(string name, string alias) 7 { 8 this.name = name; 9 this.alias = alias; 10 } 11}

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

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

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

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

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

Zuishin

2020/03/28 22:54

解決したならベストアンサーを決めて解決済みにしてください。
guest

回答2

0

ベストアンサー

例えば、下記のコードなのですが、
this.name

Employee.name
とか、そのものを表す記述方法は、存在しないのでしょうか?

ないです。

以上。 …でもいいんですが。

『this が、そのもの』ですと言われそうですが、

これに付きます。
なお、thisは省略できます。

基本的に

public class Employee
{

で始まるスコープであるため、例えば上記の場合単にnameとだけ書いても、Employeeのメンバーである前提で解釈できます。

ただし、

public Employee(string name, string alias)

のように、引数や変数などで同じnameという名前が現れたとき、「このEmployeeクラスのnameである」ことを明示的に表すのがthisです。

投稿2020/03/28 14:17

gentaro

総合スコア8949

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

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

miya38

2020/03/28 22:44

やはり、それに付きるのですね。 ありがとうございました。
guest

0

「そのもの」はそこ(メソッド定義の中)にはありません。

C#

1Employee shinjin = new Employee("Taro","Ta");

と、書いたときにnewで新規に作成されたオブジェクトが、メソッドの中での「thisが表すそのもの」の一例です。
何度もnewすればどんどん増えていきます。

なお、shinjin.nameと書くことはできません。あくまで、クラス定義の中のメソッド定義の中ではthisという代名詞で扱います。

再度書くと、thisが表すのはそのクラスのオブジェクトです。

投稿2020/03/28 14:04

otn

総合スコア84498

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

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

miya38

2020/03/28 22:43

代名詞で扱う事が、文法なのですね。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問