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

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

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

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

Q&A

解決済

2回答

40117閲覧

C# 関数の前に、staticを付けるか付けないかの使い訳について

KentarouOgura

総合スコア105

C#

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

1グッド

3クリップ

投稿2015/10/14 12:47

いつもお世話になっております。

すごく基本的な事ですみません。

C#の関数で、頭に"static"を付ける意味がよくわかりません。

検索して調べますと、staticを付けると、静的になり、
唯一の関数になるなどとありますが、さっぱり意味がわかりません。

staticを付けるつけないは、具体的には、どう使分けるのがいいのでしょう?

mo-ri👍を押しています

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

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

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

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

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

guest

回答2

0

ベストアンサー

こんにちは。

個別のインスタンスを必要とするかどうかです。
ざっくりいうと、staticをつけない場合は、

C#

1Hoge obj = new Hoge(); 2obj.Execute();

のようにインスタンス(obj)が必要となります。

staticをつけた場合は、Hoge.Execute()と個別のインスタンスを必要としません。

使い分けについては以前スレッドがあったので参照してみてください。
https://social.msdn.microsoft.com/Forums/ja-JP/e09abc78-9c63-42ef-a672-5f5be12637ae?forum=netfxgeneralja

投稿2015/10/14 12:57

Tak1wa

総合スコア4791

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

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

KentarouOgura

2015/10/14 13:06

あぁ、なるほど!だから、staticを付けると、唯一の関数と言う表現になるのですね? ありがとうございました!
guest

0

簡単に言うと、
・オブジェクトに対しての操作(更新、参照)を行う関数のときはstaticを付けない
・そうでないときはstaticを付ける

投稿2015/10/14 13:02

otn

総合スコア84538

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

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

KentarouOgura

2015/10/14 13:07

なるほど、フォームに張り付いたコントロールデータを使う場合は、staticを付けない訳ですね! ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問