Ryo.Fの日記: .Netってショボくね? 4
日記 by
Ryo.F
Ryo.Fが.Netのことを知らなさ過ぎるのか…
後ろからも前からも追加・削除できるコンテナって無いの?
System.Collections.Generic.LinkedList(Of T)か?
いや、(Of T)は不要なんですけど。
てか、PowerShellから配列みたいに使えねぇのかなあ。
新しい環境は見通しが利かんなあ。
でも、それが楽しさでもある。
Ryo.Fが.Netのことを知らなさ過ぎるのか…
後ろからも前からも追加・削除できるコンテナって無いの?
System.Collections.Generic.LinkedList(Of T)か?
いや、(Of T)は不要なんですけど。
てか、PowerShellから配列みたいに使えねぇのかなあ。
新しい環境は見通しが利かんなあ。
でも、それが楽しさでもある。
物事のやり方は一つではない -- Perlな人
そういう用途なら、ArrayList じゃあるまいか (スコア:1)
http://msdn.microsoft.com/ja-jp/library/system.collections.arraylist_m... [microsoft.com]
末尾へなら Add(要素)、先頭へなら Insert(0,要素)
Microsoftの解説文の見通しの悪さには同意の、PowerShell を知らない通りすがり。、
Re:そういう用途なら、ArrayList じゃあるまいか (スコア:1)
なるほど。参考になります。ありがとうございます。
しかし、もっと簡潔な記述ができないと嬉しさ半減なんですよね。
みたいな。Remove操作が致命的なんですよね。
とかになっちゃう。
Re:そういう用途なら、ArrayList じゃあるまいか (スコア:1)
ええ、そういう需要は多いと思うので、
元々 ArrayListに、先頭や末尾への追加削除を、専用のメソッドで持たせて置くか、
あるいは、そういうメソッドを持たせた、派生クラスくらい標準で用意して置いても
よいと思います。あるいは、標準のキューやスタックにそういったメソッドも用意しておくか、
.NETには、他のプラットホームへの移植を考慮して仕様を最小限に切り詰めるストイックさ
なんて不要だと思うのですが、妙にショボいですね。といって、メソッドをプリプロセッサで
展開させることで、派生クラスを経由するオーバーヘッドを回避するようなまねも出来ないし。
冗長を排除するような原理主義的なものと、実際の需要の差が、説明の見通しの悪さにも
つながっているのだと思います。
Re:そういう用途なら、ArrayList じゃあるまいか (スコア:1)
派生クラス
実はPowershellにはクラスを定義する構文がない。とほほ。
まあ、C#のコードをスクリプト内に含めることはできるので、なんとかなるんですけどね。