public static List<T> OverlapToSingle<T>( List<T> list ) { List<T> newList = new List<T>; foreach( T t in list) { if( !newList.Contains( t ) ) newList.Add( t ); } return newList; }
>>952 O(N^2) だお
クローンしてからソートしてリストぶち込んだ方がいくね
出力結果がソート済みなのが難点になりうるな
955 :
948 :2006/06/06(火) 22:38:31
public static List<T> OverlapToSingle<T>( List<T> list ) { List<T> tmpList = new List<T>(list); tmpList.Sort(); List<T> newList = new List<T>(); T tmpT = default(T); foreach (T t in tmpList) { if (t.Equals(tmpT) == false) { newList.Add(t); tmpT = t; } } return newList; } sortを組み込むとこんな感じになるのか。 ソート済みになってしまうことはとりあえず問題にならないので大丈夫ですね。 ジェネリックを使う気力が沸いてきた。THX!
>>955 入力の list が List<int> で中身が 0,1,2 だとしたら
出力は 1,2 になる予感
T が参照型なら参照型で、null が入っていたときに例外の予感
958 :
948 :2006/06/07(水) 12:55:41
確かにそうだな'`,、('∀`) '`,、
959 :
デフォルトの名無しさん :2006/06/08(木) 16:47:43
C#とJavaなどの他言語との連携方法がわかりません。 Javaで出力したテキストファイルをC#でよみこませたいのですが・・・・ よろしくおねがいします。
いや、テキストファイルなら何で出力しようがテキストファイルだろ。 せいぜいエンコーディングに気を配る程度だ。
961 :
デフォルトの名無しさん :2006/06/08(木) 16:55:34
>>960 私書き方が悪かったかもしれません。
一度にそれらの処理をやりたいのですが、バッチ処理しか無いのでしょうか?
JavaとC#のプログラムが常に起動していて、処理に必要な機能をそれぞれの言語で
分担して行うという複雑なものなんですが。
バッチ処理で対応しきれるのかどうか不安です。
>>961 .net java間だとまともに使えるのはソケットくらいかな。Web Serviceでもいいが互換性がどうだろう。
あとはJ#(笑)を使う。
どっちかでファイル監視するか
メッセージでやれるんじゃない?
Java Language Conversion AssistantでJavaをC#に変換する
DDEは?
>>961 とりあえず、バッチ処理であるか否かと通信方法は分けて考えたほうがよろしいんではないかと
>>961 ファイル経由でのテキストの受け渡しなんて簡単なこともわからないのに、
そんなに「複雑なもの」がよく設計できたなぁ・・・・
データの受け渡しのとこも設計したんだろうから、ちゃんとそれに従えば?
ちゃんと設計出来てたら こんな質問しないだろ。
メモリマップドファイルとかはどうだろう Java で使えるかは知らないが
JNIってなくなったの?APIつかえりゃいけるでしょ
972 :
デフォルトの名無しさん :2006/06/09(金) 00:53:14
スプリットコンテナーのパネルの上にグループボックスはっつけて そのうえテキストボックスなどのコントロールがある というリサイズ可能なフォームでの質問です したいことは ユーザがフォームを小さくしたとき、グループボックス上のコントロールが 隠れてしまう大きさにされたらパネルにスクロールバーを表示する ということなんですが、グループボックスのDockプロパティをfillにすると パネルのAutoScrollがTrueでもスクロールバーが出てこないのですが コントロールの配置方法等が間違っているのでしょうか? お願いします
973 :
デフォルトの名無しさん :2006/06/09(金) 10:49:13
HashTableの初期化を、現在 HashTable hash = new HashTable(); hash.Add("Key1", 1); hash.Add("Key1", 1); ・ ・ のように書いていますが、 Perlのように HashTable hash = { "Key1" -> 1, "Key2" -> 2, }; のように、スマートに書けないでしょうか?
hash["Key1"]=1 とかってかけないんだっけ?
コレクションの構築初期化子は C#3.0 からだねー
っていうか、static で作成したいんです。
少なくとも今はstaticなコンストラクタでやるしかないかな。
すんません。 今クラスのシェイプアップをしてるんですけれども、 インスタンスにしたときの占有メモリサイズを計る方法って ありますか?
そのクラスのインスタンス何万個作るつもりだ…… パフォーマンスカウンタ使えば?
それは意外に難しい。
stringの文字列中の特定の文字列を置き換える動作は string.Replace と Regex.Replace だったらstring.Replaceの方が速くておすすめですか? それともstring.Replaceは内部でRegexしてたりしますか?
どういう発想でそう思うんだよ。
わたしはおすすめです。
>>973 どうしてもというのならば。
private class HashtablePrivate : Hashtable {
public HashtablePrivate(object[][] values) {
foreach(object[] value in values)this.Add(value[0], value[1]);
}
}
private static Hashtable values = new HashtablePrivate(new object[][] {
new object[]{ "1", "value1" },
...
});
あまりお勧めはしない。
BeginInvoke/EndInvokeメソッドを持つ最も抽象的なクラスか インターフェースは何? Delegate型がもっていないからわけわかんね。 object AsyncResult.AsyncDelegateからEndInvokeを呼びたいんだけど 固有の型でキャストしたくない。リフレクション使うのがベスト?
ISynchronizedInvoke?
デリゲートをそいつでキャストすることはできないっぽいです。 >ISynchronizedInvoke
コンパイラが自動的につくるんじゃなかったっけ? BeginInvoke/EndInvoke
これうんこな仕様だよね。 ちがうデリゲート型、ジェネリックの中で実行したいのにこのせいでやりにくいし。 もうあぼかど。
デリゲートの実行は DynamicInvoke 使えばいいんだからどうでも良いが、型制約に使えないのが痛すぎる。
共通のシグネチャには出来ないんだから まあ仕方ないんじゃないの? DynamicInvokeの非同期版があるに越したことはないが。 むしろ普通にリフレクションで実行するときの 糞仕様をなんとかしてほしい。
> むしろ普通にリフレクションで実行するときの > 糞仕様をなんとかしてほしい。 どんな仕様をお望みだね
何も贅沢は言わんよ。 勝手に例外をラップしたりとか、 要らんことをしなければそれでいい。
ああ、例外ラップはうざいねー デバッグやりづれぇ んで結局、EndInvokeするにはリフレクションしかないってことで いいでしょか?
996 :
デフォルトの名無しさん :2006/06/10(土) 17:36:03
byteの配列をstringに変換する方法を教えてください
Encoding.GetString だったか
998 :
996 :2006/06/10(土) 17:51:32
ありがとうございます。さっそく探します。
フレームワークがあること以外での C++とC#の違いって何ですか?
時間切れですにゃ
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。