ふらっとVisual C#,C♯,C#(初心者用) Part108at TECH
ふらっとVisual C#,C♯,C#(初心者用) Part108 - 暇つぶし2ch18:デフォルトの名無しさん
13/11/09 13:55:33.59
ないなら割り当てればいいだろう

19:デフォルトの名無しさん
13/11/09 13:57:54.89
調べ方分からないってことか
オプションのキーボードで以下の文字列を含むコマンドを表示の所に適当に 分割 とか入力
で目当てのコマンドを選んでみて、ショートカットが割り当てられてたら表示される

20:デフォルトの名無しさん
13/11/09 13:59:26.41
>>19
ありがとうがいます!!!

21:デフォルトの名無しさん
13/11/09 14:35:20.27
少数二桁って1.5とか8.2とかじゃねーの?

22:デフォルトの名無しさん
13/11/09 15:15:08.04
>>21
頭大丈夫?w

23:9
13/11/09 15:47:33.70
整数3桁の小数2桁です(999.99)
decimalなら大丈夫なんですかね
だめなら100掛けて整数とするか文字列で別に持って比較しようと思います。

24:デフォルトの名無しさん
13/11/09 15:56:57.58
整数部小数部合わせて14桁ぐらいまでなら比較においてはdoubleで問題ないよ

25:デフォルトの名無しさん
13/11/09 16:01:43.52
doubleで問題無いと思うけど
100掛けて整数にして比較はdoubleを経由してる時点で全く意味ない

26:デフォルトの名無しさん
13/11/09 16:02:17.51
初心者です

class Class1
{
public static Class1 Value { get; set; }
public void Test() { }
}

class Class2
{
static void Main()
{
Class1.Value.Test();
}
}

このプログラムの「Class1.Value.Test();」という書き方がよくわかりません。
プロパティからメソッドを呼んでる?
なんて検索したらいいかもわからなかったので教えてください。

27:デフォルトの名無しさん
13/11/09 16:03:45.78
性的メソッドだからクラスから直接呼べる
正しいnew文から生成したインスタンスからは呼べない

28:デフォルトの名無しさん
13/11/09 16:05:19.37
ごめんコードよく読んでなかった

29:デフォルトの名無しさん
13/11/09 16:10:13.26
単純にスタティックプロパティに設定されたインスタンスのメソッド呼んでるだけだろ

30:デフォルトの名無しさん
13/11/09 16:10:08.93
ばらせばわかりやすい
Class1 temp = Class1.Value;
temp.Test();

31:デフォルトの名無しさん
13/11/09 16:11:04.81
プロパティにはオブジェクトを入れられる
オブジェクトにはint,string,Class,Delegateなど様々な型がある

プロパティのメソッドを呼んでいるで間違いないけど
プロパティの値であるClass1のインスタンスのメンバであるTest()メソッドを呼び出している、ということ

Class1は自分自身をプロパティとして公開してる

32:デフォルトの名無しさん
13/11/09 16:13:18.09
>>29-31
納得しました!
わかりやすい説明ありがとうございます

33:デフォルトの名無しさん
13/11/09 16:32:27.44
>>32
ちなみにあれはファクトリークラスというデザインパターンである
状況に応じて複雑な初期設定が必要な場合、>>26の例で言うとClass2で
インスタンス化して初期設定をするのが困難な場合がある
初期設定を済ませて安全に使える状態を保証しますという意味でStaticプロパティで公開している
初期設定はClass2でしたい場合のためにClass1自体はStaticとして宣言されていない

よく使われるのがこれ
WebRequest req = WebRequest.Create(url);
これはCreateメソッドに渡された値によって最適な設定をしたWebRequestを返している
urlだったら、Webアクセスに特化したWebRequestを返し
ローカルファイルのアドレスだった場合はそれ用の…という感じ

>>26のコードだけだと何のためにしているの?って疑問に思っても仕方がないよね

34:デフォルトの名無しさん
13/11/09 16:34:57.50
動的生成するためじゃねーの?

35:デフォルトの名無しさん
13/11/09 16:50:01.09
>>26はシングルトンのつもりなんじゃね
いやグローバル変数と呼ぶべきか
初心者はあまり真似しないほうがいいよ

36:デフォルトの名無しさん
13/11/09 22:40:54.43
Create静的メソッドだとnewをタイプしなくていいから楽

37:デフォルトの名無しさん
13/11/10 04:37:00.65
最近C#さわって無くて家にあるのはVS2005なんで
.NetFreamworkもC#2.0でしか造れないんだけど
StringのFormatは、Cのprintfみたいな仕様になった?
それとも、まだ{0}みたいな使いづらい仕様のままなの?

38:デフォルトの名無しさん
13/11/10 04:43:37.47
Cの%dとかの方が見にくい


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch