- - PR -
Stringとstringの差(大文字と小文字)はありますか?
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-09-14 11:27
いいですね。ほぼ理解できたと思います。(関数ではないですが) #じゃんぬねっとさんのご説明とリンク先がとてもわかりやすいですね。
危険ですね・・・w _________________ R・田中一郎 - R.Tanaka.Ichiro’s Blog | ||||||||||||
|
投稿日時: 2006-09-14 11:35
ILDasmの使い方がよくわからなかったのですが、
Stringはstringの機能拡張タイプ、と考えればよいのでしょうか? intはInt32と同じ扱いを受けるけど、派生としてInt16やInt64がある、 ってかんじなのでしょうか? そうだと仮定すると、 「stringでもある程度同じことはできるけど、 せっかくVS2005使ってるなら"String"の方がいいよ」 ってのが答えですか? _________________ ◇◇◇ 社内SEを兼務する文系プログラマです。 ◇◇◇ WinXP VisualStudio2005(C#メイン) MS・SQLServer とかを使っています。 ◇◇◇ 周囲にプログラマがいないので、みなさんだけが頼りですヽ(`Д´;ノ | ||||||||||||
|
投稿日時: 2006-09-14 11:36
ここをみると、stringはStringのエイリアスだと書いてあります。
エイリアスというのは他でもよく出てくる言葉ですが「別名」の意味だと思えばいいです。 Int系も。
| ||||||||||||
|
投稿日時: 2006-09-14 12:15
String と stringは、全く同じものです。
というか。実際に.NET Frameworkに存在するのは、Stringというクラスだけです。 Stringだけあれば、本当は問題ないのです。 intとかも同じで、本当に存在するのはInt32のほうです。 ただ、StringとかInt32とか書いているとなんとなく見にくいので、ということで、 C#のプログラム中にstring とか int とか書いておくと、 自動的にStringとかInt32とかに、読み替えてくれるという決まりになっているのです。 だから。読み替えているだけなので。機能的には当然全く同じです。 同じように用意された読み替え用の単語としては、 string,bool,sbyte,byte,short,int,long,ushort,uint,ulong,decimal,float,doubleなんかがあります。 私としては、わざわざ読みやすいように、と用意してくれているのだから、そっちのほうが読みやすいということなのだろう、と思うので、極力stringとかの方を使うようにしています。 公式にどっちが推奨、とか言う話はあるのかな? | ||||||||||||
|
投稿日時: 2006-09-14 12:32
ごめんなさい、私の説明では伝わりにくかったかもしれませんね。
「別名」 だと書いています。 ですから、機能拡張ではありません。
ここでも、'全く' 同じと書いています。 ですから、機能拡張ではありません。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||||||
|
投稿日時: 2006-09-14 13:09
みなさんご回答ありがとうございます。
なるほど、エイリアスなんですね。 Linuxでシンボリックリンクの色が違うのと似たようなものなんですね……。 基礎ができていない私に最後までお付き合いいただきありがとうございました。 _________________ ◇◇◇ 社内SEを兼務する文系プログラマです。 ◇◇◇ WinXP VisualStudio2005(C#メイン) MS・SQLServer とかを使っています。 ◇◇◇ 周囲にプログラマがいないので、みなさんだけが頼りですヽ(`Д´;ノ | ||||||||||||
|
投稿日時: 2006-09-14 13:11
どちらも見かけるんですよね。 僕も型名の方を使うようにしてますが。 | ||||||||||||
|
投稿日時: 2006-09-14 13:22
私も言語側で用意されたデータ型を使用しております。 (何となく、文字が青くなることを優先しているみたいです) MSDN2 ライブラリの (使用法) に関するコードも、言語側で用意されたデータ型を使用しています。 しかし、Visual Studio からイベント プロシージャを生成した場合、 イベント引数 sender は System.Object になるんですよね。 (VB でコード上部にある ComboBox から生成した場合は Object になりますが) 統一さえされていれば、良いと思います。 とか言いつつ、VB の Date 型は、System.DateTime の方を使っています... _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 |