- PR -

VB.net : indexが0から始まるコレクションってありますか?

投稿者投稿内容
ジブ
大ベテラン
会議室デビュー日: 2005/09/22
投稿数: 135
投稿日時: 2005-11-03 11:05
引用:

ジブさんの書き込み (2005-11-03 10:59) より:
引用:

じゃんぬねっとさんの書き込み (2005-11-03 10:41) より:
Microsoft.VisualBasic 名前空間がインポートされているからです。
(おそらく、ジブさんの場合はプロジェクト全体で)



うっとうしいのではずしちゃってもよいですかね??

ちょっと怖いかな??

ちょっと実験してみよう。



あれれ?????

Microsoft.VisualBasic がいない。

As Collection って、どこを見ているの???

というか、言語のデフォルトなのですね???

C#プロジェクトだとAs Collectionみたいなのはないってことかな???

混乱中
ジブ
大ベテラン
会議室デビュー日: 2005/09/22
投稿数: 135
投稿日時: 2005-11-03 11:12
引用:

C#プロジェクトだとAs Collectionみたいなのはないってことかな???



なるほど、C#では厳密に指定しないといけないみたいですね。

AS XXXX な部分はちょっと見直したほうがよいでしょうかね。

できるだけ完全名で書くようにはしているんですけど、徹底していない。

As IntegerとかAs Stringくらいは平気ですよね?

参照型の変数の場合は完全名にというようなのがよいんでしょうか?

ジブ
大ベテラン
会議室デビュー日: 2005/09/22
投稿数: 135
投稿日時: 2005-11-03 11:20
引用:

じゃんぬねっとさんの書き込み (2005-11-03 10:41) より:
引用:

System.CollectionとかSystem.Collections.Collectionとかなんでないんだろうというのが最初の疑問でした。


型のようなクラスとして、という意味でしょうか?
名が「CollectionBase」なのは、「型を厳密にすべき」という意味が込められているのかもしれません。

何でも、となると「System.Collections.ArrayList」が使えますからね。
String なら「System.Collections.Specialized.StringCollection」ですね。





「CollectionBase」は文字通りMust Inherits なクラスなので重宝しています。

一生懸命Collectionを探していたのでArrayListが目に入っていなかったのです。
後ろにListって着くとコレクションだということを知らなかったのです。

それにCollections名前空間にあるってことはコレクションなはずなのに
ふーん配列もCollections名前空間にあるんだなぁくらいにしか思っていなかった。

お恥ずかしい。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-11-03 11:21
引用:

ジブさんの書き込み (2005-11-03 10:57) より:

ちょっと私も勘違いしてたみたいです。
Arry.CreateInstanceは次元の設定のようでOptionBaseとかは関係ないみたいです。


え? 下限値の設定はできるってことですよ。
先の私のコードの nArray2 を CreateInstance メソッド実行後にウォッチ式で見てください。

引用:

ジブさんの書き込み (2005-11-03 10:59) より:

うっとうしいのではずしちゃってもよいですかね??
ちょっと怖いかな??


むしろ、私は絶対に外す派です。(^^)

引用:

ジブさんの書き込み (2005-11-03 11:05) より:

あれれ?????
Microsoft.VisualBasic がいない。
As Collection って、どこを見ているの???
というか、言語のデフォルトなのですね???


そんなことはないと思います。
Imports ステートメント、またはプロジェクト全体のインポートがなされてなければ、
名前空間を完全に指定しない限りは使えないハズです。

先ほども言いましたが、ジブさんはプロジェクト全体でインポートしているのではないでしょうか?
[プロジェクト] - [xx のプロパティ] - [共通プロパティ / インポート]
ここに、プロジェクト全体のインポートがあります。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ジブ
大ベテラン
会議室デビュー日: 2005/09/22
投稿数: 135
投稿日時: 2005-11-03 11:25
じゃんぬさん、ありがとうございました。

Microsoft.BisualBasic を発見いたしました。

さっそく削除しましたところ、なじみのVbCrLfとかIIfとかetcが使えなくなったくらいで
なんとかなりそうな気がします。

プロジェクトを作るたびに手動で削除すべきなのでしょうか?

ジブ
大ベテラン
会議室デビュー日: 2005/09/22
投稿数: 135
投稿日時: 2005-11-03 11:33
引用:

じゃんぬねっとさんの書き込み (2005-11-03 11:21) より:
え? 下限値の設定はできるってことですよ。
先の私のコードの nArray2 を CreateInstance メソッド実行後にウォッチ式で見てください。



あ、ほんとだ。
勘違いでした。失礼しました。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2005-11-03 11:49
引用:

ジブさんの書き込み (2005-11-03 11:25) より:
じゃんぬさん、ありがとうございました。

Microsoft.BisualBasic を発見いたしました。


先ほども誤記がありましたが、正しくは Microsoft.VisualBasic ですね。

引用:

さっそく削除しましたところ、なじみのVbCrLfとかIIfとかetcが使えなくなったくらいでなんとかなりそうな気がします。


別名のインポートを使うのも手かもしれません。
 Imports VbConst = Microsoft.VisualBasic.Constants
としておくと、
 VbConst.vbCrLf
のように使用できます。

私の場合は、Microsoft.VisualBasic.ControlChars を別名でインポートしています。
面倒なので、プロジェクト全体のインポートで、
 VbControlChars = Microsoft.VisualBasic.ControlChars
とすることもあります。

# CrLf は、System.Environment.NewLine を使ったりします。

引用:

プロジェクトを作るたびに手動で削除すべきなのでしょうか?


「すべき」かどうかは、人それぞれの好みによるのではないでしょうか?

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
ジブ
大ベテラン
会議室デビュー日: 2005/09/22
投稿数: 135
投稿日時: 2005-11-08 22:15
じゃんぬさん、御礼が遅くなりました。

無事、Microsoft.VisualBasicをImportsよりはずし動作しております。

引用:

じゃんぬねっとさんの書き込み (2005-11-03 11:49) より:

先ほども誤記がありましたが、正しくは Microsoft.VisualBasic ですね。




し、失礼しました。

引用:

引用:


プロジェクトを作るたびに手動で削除すべきなのでしょうか?


「すべき」かどうかは、人それぞれの好みによるのではないでしょうか?




どうやら、VBプロジェクトだとデフォルトになっていて、デフォルトではずすような手段はなさそうですね。

そもそもはCollectionの問題なので悩ましかったです。

とりあえずAs ArrayListって自然と指が動くようになったので
ようするに慣れだけの問題ではあるんですよね。。。



[ メッセージ編集済み 編集者: ジブ 編集日時 2005-11-08 22:25 ]

スキルアップ/キャリアアップ(JOB@IT)