1 :デフォルトの名無しさん2011/10/23(日) 19:21:42.95
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からない場合など、勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

なお、テンプレ2行目が読めない回答者は邪魔なので後述のC#相談室に移動して下さい。

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ

ふらっとC#,C♯,C#(初心者用) Part79
http://hibari.2ch.net/test/read.cgi/tech/1316608496/

■関連スレ
C#, C♯, C#相談室 Part68
http://hibari.2ch.net/test/read.cgi/tech/1316703574/
ミスターサタンのC#相談室 
http://hibari.2ch.net/test/read.cgi/tech/1092656075/
VB.NET質問スレ(Part37)
http://hibari.2ch.net/test/read.cgi/tech/1317448996/
くだすれC++/CLI(初心者用)part2
http://hibari.2ch.net/test/read.cgi/tech/1268613679/
2 :デフォルトの名無しさん2011/10/23(日) 19:22:30.25
■備考
コードの量が多い場合は下記サイトを使うなどしたほうがいいかも
http://ideone.com/
http://pastebin.com/
コードを貼り付けてrun codeのチェックをはずしてsubmitボタンを押すと
コードを鯖側にアップして専用のアドレスが発行されます
26 :デフォルトの名無しさん2011/10/24(月) 15:22:33.23
>>24
>>2を参照してコード上げるんだ
3 :デフォルトの名無しさん2011/10/23(日) 22:23:51.10
WindowsFormアプリケーションを作成しています。
そこで行き詰ってしまいました。

(1) DataGridViewのセルにImageListの画像を表示させることはできるでしょうか。
  該当セルのcolumnsのデータ型はイメージ型にしています。

(2) DataGridViewのセルにアニメーションGIFを表示させることは可能でしょうか。

すみませんが、よろしくおねがいいたします。
4 :デフォルトの名無しさん2011/10/23(日) 22:25:26.37
アプリをタスクトレイのアイコンとして格納したいのですが、
どうにも行き詰まっている状態です。お力を貸していただければ幸いです。

ネットで色々調べてみて、Windowsプログラムで、
NotifyIcon型のインスタンスを作成してVisibleをtrueにすれば
うまく行くと思ったのですが、どうにもうまく行きません。

コードとしては、以下のような感じで書いているのですが、
原因らしきものがあれば、教えていただければ幸いです。

notifyIcon = new NotifyIcon {
 BalloonTipTitle = "お知らせ",
 BalloonTipText = "予定通り、処理しました。",
 BalloonTipIcon = ToolTipIcon.Info,
 Visible = true,
};
5 :デフォルトの名無しさん2011/10/23(日) 22:33:31.77
>>3
(1)はい
(2)はい

>>4
Iconはどうしたの
6 :デフォルトの名無しさん2011/10/23(日) 22:34:14.81
>>3
どっちも標準じゃ無理 それなりにコード書けば可能
(1)の方はImageListじゃないとダメなの?
ImageListなんて所詮コモンコントロール用のためだけのモノなんだけど

>>4
Iconプロパティが未設定?
それだけじゃなんとも
7 :デフォルトの名無しさん2011/10/23(日) 22:46:37.04
>>5, 6
おお、Iconプロパティを追加設定するだけで、うまくいきました!
ありがとうございます。
8 :デフォルトの名無しさん2011/10/24(月) 00:57:50.35
前スレのぬるぽの質問ですが、
デバッガがおかしいみたいで、実際にnullだったのは別の行でした
お騒がせしました
12 :デフォルトの名無しさん2011/10/24(月) 10:57:54.42
継承ってめちゃくちゃ便利だぞ!
同じようなクラスを大量に作っていて
それらすべてを変更したい場合
基底クラスを変更するだけで済む!
13 :デフォルトの名無しさん2011/10/24(月) 11:21:43.82
典型的なアンチパターンだな
継承せずに適切にクラス分けて使い回せ
78 :デフォルトの名無しさん2011/10/25(火) 17:38:40.28
>>13
アンチパターンってどういうこと?
ほとんど同じ機能のメソッドがあって一部違うだけだから
継承した方がコード減ると思ってやろうと思ったんだけど
こういう場合に継承使うのはだめなの?
80 :デフォルトの名無しさん2011/10/25(火) 20:10:21.34
>>78
コード量を減らすのが目的なら継承せずに
委譲したほうが後々メンテしやすい。
82 :デフォルトの名無しさん2011/10/25(火) 23:41:22.33
>>80
スーパークラスは抽象クラス
あと、このクラスをまとめてforeachで回したいので
やっぱり継承必要なんだよねー
それでも継承だめですか?
83 :デフォルトの名無しさん2011/10/25(火) 23:54:20.27
>>82
インターフェイス使え
94 :デフォルトの名無しさん2011/10/26(水) 06:57:02.98
>>82
ポリモーフィズムが目的ならいいとけど
foreach(GetEnumerator)を個別に書きたくないからというならやっぱりお勧めしないなー
14 :デフォルトの名無しさん2011/10/24(月) 12:12:36.69
クラスはインスタンスさえ生成しなければリソースを喰う事はありませんよね?
クラス定義だけ大量にあって実際インスタンスを生成したり静的に参照することがあまり無いので少し不安に思うのですが
15 :デフォルトの名無しさん2011/10/24(月) 12:21:44.71
>>14
メモリみればわかるじゃん
増えないよ
18 :デフォルトの名無しさん2011/10/24(月) 12:26:17.12
>>15-17
ありがとうございます
16 :デフォルトの名無しさん2011/10/24(月) 12:22:21.77
メモリもリソースだろ
ファイルが大きけりゃ起動時に食うだろ
17 :デフォルトの名無しさん2011/10/24(月) 12:25:04.01
使わなければコンパイル時の最適化で省かれるから増えないよ
20 :デフォルトの名無しさん2011/10/24(月) 12:28:25.98
>>17
リフレクションの時どうすんだよ
19 :デフォルトの名無しさん2011/10/24(月) 12:27:48.54
クラスもメンバも勝手に省かれることはない
リフレクションで呼び出せるから
21 :デフォルトの名無しさん2011/10/24(月) 12:31:39.21
使わなかったら消えるなんて言ってたら、プラグイン用に外部公開してるインターフェースとか抽象クラスはどこに行っちゃうんだろうね。
電子の海の藻屑か…。
22 :デフォルトの名無しさん2011/10/24(月) 12:34:41.85
BookListというListに似たクラスが複数あって
そこにbookが格納されている場合

(1)Bookクラスがファイル名を引数にしてインスタンス化されると
Bookクラスがファイルからテキストを読み込む形にするべきか

(2)BookListクラスがファイルからテキストを読み込んで
Bookインスタンスを生成しデータを渡すべきか

(3)全く別のクラスでファイルからテキストを読み込んで、
そのデータをBookListかBookクラスに渡すべきか

どれが正解ですか?
23 :デフォルトの名無しさん2011/10/24(月) 12:44:14.94
場合による
>>22の脳内をテレパスしないと答えられない
24 :デフォルトの名無しさん2011/10/24(月) 14:38:31.50
どういう場合ですか?
25 :デフォルトの名無しさん2011/10/24(月) 15:01:28.07
基本的に(1)のような気がするが、Bookとファイルが1対多でBookListとファイルが1対1なら(2)の方が自然かもしれない
やはり仕様と状況による
27 :デフォルトの名無しさん2011/10/24(月) 16:03:45.31
小規模なら1のような気がするな。
大きくなってきたらファクトリー作るとかしたほうがいい気がするので3かな。
28 :デフォルトの名無しさん2011/10/24(月) 18:00:43.90
Bookクラスがインスタンスからされて
テキストデータが必要になった瞬間にロードする
巨大ファイルのことも想定するなら必要な分だけロードする
29 :デフォルトの名無しさん2011/10/24(月) 18:30:17.92
2chの専ブラを作っています
datを整形してhtml形式にして、Webブラウザコントロールで見れるようにしたいんですが
例えば、そのhtml内にURLが貼られていて、そのURLをクリックすると、そのURLを引数として他のメソッドを呼び出すことってできないですか?
調べてみたんですけどWebBrowserコントロールにはClickイベントがないみたいで・・・
何かいい方法あれば教えて下さい
359 :デフォルトの名無しさん2011/11/03(木) 23:35:16.60
>>357
>>29-34
30 :デフォルトの名無しさん2011/10/24(月) 18:33:49.68
HtmlDocumentやElementにあるだろ
31 :デフォルトの名無しさん2011/10/24(月) 18:35:50.83
tabcontrolで、タブ内のコントロールを複製してタブを増やしたいんですが、
この場合ってデザイナーを使って編集できないんでしょうか
34 :デフォルトの名無しさん2011/10/24(月) 18:43:51.07
WebBrowserにはないけどDocumentCompletedイベントもしくはnavigatedイベント後に
できるhtmlDocumentにはあるよ
http://cs2ch.blog123.fc2.com/blog-entry-68.html
35 :292011/10/24(月) 19:35:06.72
>>30
>>34
ありがとうございます。それで少し頑張ってみます



363 :デフォルトの名無しさん2011/11/03(木) 23:43:14.67
>>34にあった
DocumentCompletedイベントもしくはnavigatedイベント後にその後起こるNavigatingイベントを拾って
そこで条件にあった場合はe.Cancel = true;でいけるな
36 :デフォルトの名無しさん2011/10/24(月) 19:58:17.07
クラスの作り方でいつも悩む
コレクションクラスを作るべきか
コレクションをメンバとして持ったクラスを作るべきか

こういう場合はこういうクラスがいいみたいな紹介してくれるサイトないかな
37 :デフォルトの名無しさん2011/10/24(月) 20:01:15.36
神託機械にでも聞いてろ
38 :デフォルトの名無しさん2011/10/24(月) 20:08:15.98
>>37
RFC 3751はまだ実装されてないぞ。
39 :デフォルトの名無しさん2011/10/24(月) 20:12:39.19
>>36
コレクションを新たに作るってのは滅多にないんじゃないか?
適当なクラス作ってListにいれて、Listをメンバに持つクラス作って
インデクサでアクセス。あとはGetEnumerator実装しとけば大体事足りる

>>38
よくそんなんパッと出てくるなw
41 :デフォルトの名無しさん2011/10/24(月) 20:39:16.12
>>39
そうしてみます。ありがとう
40 :デフォルトの名無しさん2011/10/24(月) 20:26:15.12
ITypedListが付けたいとか、各種インデックスで範囲処理したいとかあるでしょ
42 :デフォルトの名無しさん2011/10/24(月) 20:54:39.14
class A
{
B b=new B();
var items= b.Items;
}

あーやっぱり気になる
List<T>って便利だけどこれを戻り値にして渡すと
勝手に値を変更されることになるのがなぁ

正しい値かどうかはlist<T>をメンバに持つクラスでやりたいのに
List<T>を戻り値として受けるクラスも同じように正しい値がどうか
チェックして勝手にデータいれることになる

しないように注意すればいいだけかもしれないが忘れるとやってしまうし
ってことでコレクションクラスを自作することにならないですか?
43 :デフォルトの名無しさん2011/10/24(月) 20:57:35.21
戻り値の型をIList<T>かReadOnlyCollection<T>にして
return new ReadOnlyCollection<T>(list);
47 :デフォルトの名無しさん2011/10/24(月) 21:15:12.07
入力チェックはインデクサのSetでやって
変な入力あったら例外投げたらいいじゃん
49 :デフォルトの名無しさん2011/10/24(月) 21:28:41.45
>>47
インデクサ使ってくれるならいいけど
LIST渡したら普通Addされちゃうでしょ

IListでも既存のデータは値の変更されちゃうみたいですね
値の変化に合わせてファイル構成を変更するようなプログラムなので問題が

List貰う側が、ファイル構成意識しながら、今おk?値を変更したよっていちいち
報告するのも変だし、それだったらそのクラスがList持ってたらいいわけで
52 :デフォルトの名無しさん2011/10/24(月) 21:53:54.28
>>49
そもそもList渡さなきゃいいんじゃないのってこと
48 :デフォルトの名無しさん2011/10/24(月) 21:23:16.01
popサーバにアクセスして、新着メールを取得するプログラムを作りたいのですが、
接続〜取得まではうまくいきましたが、メールをフォルダわけしている場合に、
"受信フォルダ"←ルート?のメールしか取得できません。
条件で振り分けている他のメールも取得したいのですが、行き詰まってしまいました。
よい方法がわかるかたがいらしたら回答よろしくお願いします。
66 :デフォルトの名無しさん2011/10/24(月) 22:46:52.75
>>48
ネットワークプログラミングスレでやってよ
50 :デフォルトの名無しさん2011/10/24(月) 21:36:24.74
A.Items
A.Add()
A.Remove()

とにかくこういうクラスがすごく気持ち悪いと思うんだけど
おれだけかな?
51 :デフォルトの名無しさん2011/10/24(月) 21:47:58.87
インデクサーでおk
53 :デフォルトの名無しさん2011/10/24(月) 22:03:22.78
>>51
インデクサはちょっと違うんです
Bookが複数のページを持っているだけで
Bookが複数あるわけじゃないので
Bookクラスは一つのファイルを参照してページを構成しています

あ、まてよ、ページListを渡すんじゃなくてBookそのものを渡せばいいのか・・・
56 :デフォルトの名無しさん2011/10/24(月) 22:09:52.57
>>54
それ知ってるけど、意味的にはクラス配列でしょ
>>53でもあるようにbook[i]はおかしくないですか?
58 :デフォルトの名無しさん2011/10/24(月) 22:15:26.69
>>56
別におかしくない
それが気になるならList[i]も使えなくね?
54 :デフォルトの名無しさん2011/10/24(月) 22:07:41.84
this [index]を知らないとか?
57 :デフォルトの名無しさん2011/10/24(月) 22:13:44.56
いや、bookクラス渡したんじゃだめだな
foreachできるようにしたいから、Listを返しているわけだし
やっぱり自作コレクションクラスにするべきなのかな
59 :デフォルトの名無しさん2011/10/24(月) 22:19:26.24
>foreachできるようにしたい
最初に言ったけどGetEnumerator実装したらいいよ
60 :デフォルトの名無しさん2011/10/24(月) 22:23:33.22
>>58
book[i]はbookがたくさんあるってこ意味になるでしょ
List[i]はBook.Pages[i]ってことだからおかしくないですよ

>>59
foreach(page p in book)
これはおかしいと思う
64 :デフォルトの名無しさん2011/10/24(月) 22:32:25.31
>>60
そんな事いってたらインデクサを実装してるクラスは
ほとんどおかしいことになるぞw
67 :デフォルトの名無しさん2011/10/24(月) 22:51:45.07
>>60
ここではおかしくないと考える人の方が多いようだ
ここではお前の頭がおかしい
ここではないどこかへ行くといい
70 :デフォルトの名無しさん2011/10/24(月) 22:57:45.63
クラス一つ作る手間の方が短そうだね。
下手の考えなんとやら。
71 :デフォルトの名無しさん2011/10/24(月) 23:01:33.99
page in book は見たまんまだし
book[i]がbookがたくさんなら
Pages[i]はpagesがたくさんだよね
73 :デフォルトの名無しさん2011/10/25(火) 08:05:37.98
短絡評価の論理演算(&&,||)って、処理速度を向上させるために、
条件によっては一つ処理をバイパスできるってことですかね?
結果は普通の&,|使ったときと変わりないですよね?
逆は必ずしも正しくないけど。
76 :デフォルトの名無しさん2011/10/25(火) 12:25:41.78
>&,|  →整数値専用の論理演算子

専用ってことはない。bool型にも使える。
77 :デフォルトの名無しさん2011/10/25(火) 12:28:20.43
response.redirectってPage_Loadの中で使ってもいいんだっけ?
79 :デフォルトの名無しさん2011/10/25(火) 18:53:35.62
>>77
何か使えないって資料でもあるのか?
普通に使ってて問題になったことはないが
147 :デフォルトの名無しさん2011/10/27(木) 19:17:49.40
>>79
念のためです
thanx
81 :デフォルトの名無しさん2011/10/25(火) 23:30:06.71
コードを減らす目的で継承を使うと
たくさん継承しまくりになって、
どこがどこで呼び出すとかわけわからんくなるよね。

継承は、子クラスで親クラスの何かをオーバーライド(もしくは抽象メソッドを実装)
するときに使ういう、考え方がいいのだろうか。
ようするにちゃんとis-a関係があるのかってことなんだけど。
85 :デフォルトの名無しさん2011/10/26(水) 00:08:59.52
>>81
C#では多重継承できませんが?
84 :デフォルトの名無しさん2011/10/26(水) 00:06:45.68
インターフェイスだと実装が書けないので
同じコードを複数書かなくてはいけないしなー
そこまでして継承を嫌う意味がわからないんだけど
86 :デフォルトの名無しさん2011/10/26(水) 00:10:14.80
骨格実装ってのがあって…

バカに説明するの面倒だからやっぱ止めとくわ
88 :デフォルトの名無しさん2011/10/26(水) 00:11:25.55
>>86
バカに説明できない人も、またバカなんですけど
どうですか?
91 :デフォルトの名無しさん2011/10/26(水) 00:23:52.44
初心者スレでバカと言われても困りますね
バカがくるスレに何用ですか?
煽るためにくるなんて暇なプログラマもいるもんですね(笑)
95 :デフォルトの名無しさん2011/10/26(水) 09:56:56.35
ちょっと質問なのですが・・・
string[] str ={ };
これってstrって配列を宣言してるんですか?
{ }はnullってことですか?
newも要素数も無いからインスタンスを生成したわけじゃないのに、
nullで初期化?する意味はあるのですか?
96 :デフォルトの名無しさん2011/10/26(水) 10:02:20.03
>>95
どこで見たかしらんが省略系だろうな
気になるならトライアンドエラーでいろいろアクセスしてみればいいじゃん
nullかもしれないしnullじゃないかもしれないし

とにかくやってみるのが一番
98 :デフォルトの名無しさん2011/10/26(水) 18:54:12.00
WinFormsコントロールにデータを表示する場合
DataBindingsって使ってますか?
データは全部DataSetに変換して使うのが基本なのかな?
109 :デフォルトの名無しさん2011/10/26(水) 21:09:15.54
>>98
これどなたか教えてください
113 :デフォルトの名無しさん2011/10/26(水) 21:12:18.80
>>109
コレクションをバインドしてもいいんだよ
100 :デフォルトの名無しさん2011/10/26(水) 20:10:57.19
インターフェイスすげぇ
別のクラスなのに同じインターフェイスつけると
List<T>に一緒に入れられるじゃないか!感動!

どこのサイトもインターフェイスの説明は
抽象クラスの違いだとか、実用性のないコード例ばっかでよくわからなかったが
こういうことを例にあげて説明しろよな
106 :デフォルトの名無しさん2011/10/26(水) 21:01:28.58
>>100
ここで非実在サイトを責められましても困りますし
107 :デフォルトの名無しさん2011/10/26(水) 21:06:44.50
>>106
分かりにくいサイトNo.1
http://ufcpp.net/study/index.html
108 :デフォルトの名無しさん2011/10/26(水) 21:09:02.66
>>107
そこが分かりにくいんだ?w
110 :デフォルトの名無しさん2011/10/26(水) 21:10:02.61
>>107
それはプログラミング初心者向けではない
ついでに言うならC#はもともと他の言語が使える人が.NETに移行するときに使うために作られた言語だ
111 :デフォルトの名無しさん2011/10/26(水) 21:10:50.76
>>107
そこすげーわかりやすく書いてるけどな
C#以前にオブジェクト指向の勉強したほうがいいぞ
112 :デフォルトの名無しさん2011/10/26(水) 21:11:19.72
>>107
そこはコード例を理解するのに他の知識がいるし
説明していることは振る舞いだけで初心者には難しい
114 :デフォルトの名無しさん2011/10/26(水) 21:12:46.31
>>111
じゃあわかっているあなたが>>100の何が間違いか教えてあげたら?
122 :デフォルトの名無しさん2011/10/26(水) 21:23:22.83
はやく>>100の答え言えよ
わからないのか?
適当な事いってんじゃねーぞ
124 :1112011/10/26(水) 21:36:04.01
>List<T>に一緒に入れられる
に感動してて
>分かりにくいサイトNo.1

>http://ufcpp.net/study/index.html
ここをあげてたから
率直な意見を述べただけ。
別に>>100にいちゃもんつけたり煽ってたわけじゃないよ
101 :デフォルトの名無しさん2011/10/26(水) 20:12:09.62
それは、Objectにキャストするのと違いがあるのか?
129 :デフォルトの名無しさん2011/10/26(水) 22:04:23.25
>>101
どういう意味ですか?
もしかして継承?
131 :デフォルトの名無しさん2011/10/26(水) 23:26:56.97
>>129
恐らく「List<Object>なら何でも入るだろ」だと思うが
明らかにインターフェース使った時と違うよなw
132 :デフォルトの名無しさん2011/10/27(木) 00:44:56.03
>>101はList<Object>って言いたかったのか?w
確かに何でも入るが利用する側はどうするんだよって話だな
バカだとしか言いようがない
115 :デフォルトの名無しさん2011/10/26(水) 21:13:27.13
まあプログラミングは適性あるしな
猫でも分かる、猿でも分かる、ミジンコでも分かるC#的なサイトが必要だな
116 :デフォルトの名無しさん2011/10/26(水) 21:15:46.55
VB中学校へどうぞ
書いてる本人がオブジェクト指向よくわかってなくて無理してるのが伝わってきて切なくなる
118 :デフォルトの名無しさん2011/10/26(水) 21:16:27.50
>>116
じゃあ早く答えろよ
119 :デフォルトの名無しさん2011/10/26(水) 21:18:10.21
>>116
お前プログラミング初めて数か月で理解できたのか?え?
何年やってるんだよおっさん
おっさんが覚えたてのプログラマバカにしてるの?
お前どんだけ無能なんだよw
初心者煽るぐらいしかお前にはできないんだなおっさん
125 :デフォルトの名無しさん2011/10/26(水) 21:37:10.17
>>116
無理してるも何も試行錯誤してる段階だろ
何がわからなくて、何がだめなのかもわからない時期に
そういう努力している奴をバカにするってどういうことよ?
初心者なんて要領悪くて当然だろアホか

効率のいい進め方が1通りしかないならみんなそれやってるだろ
お前がやってきた過程をなぞらないとバカなのか?
視野が狭いんだよ、だからお前は無能なの
誰からも相手されないぼっちなんだよ
117 :デフォルトの名無しさん2011/10/26(水) 21:15:49.23
そうやって初心者バカにするやつうざいんだけど消えてくれる?
邪魔なんだよねこのスレにとってさ
123 :1162011/10/26(水) 21:23:47.65
お前らのことじゃなくてVB中学校っていう有名なサイトのことだよw
わかりやすいのはわかりやすい
127 :デフォルトの名無しさん2011/10/26(水) 21:56:30.40
確かにC#って初心者に一から入門できるサイトってあんまりないよね
前作ろうかと思ったけどわかりやすく教えられないからやめた
133 :デフォルトの名無しさん2011/10/27(木) 00:47:24.88
利用する側は別々にアクセスするなら
そもそもListなんかに入れるかよって話
ほんとこいつら無能だわwwww
134 :デフォルトの名無しさん2011/10/27(木) 01:32:09.77
まあ、ポリモーフィズムの説明として、どうたらこうたら言うよりも
List<T>のTに入れられるぜ、ってのは分かりやすいのはそうかもね。
136 :デフォルトの名無しさん2011/10/27(木) 03:51:34.03
>>134
継承するなっていったらかインターフェイスにしたのに
今度は継承しろってことか?
バカにしてるのか?ここの奴らは
137 :デフォルトの名無しさん2011/10/27(木) 04:09:24.87
>>136
どこに反応してるのか分からんが、ポリモーフィズム=継承じゃないぞ
135 :デフォルトの名無しさん2011/10/27(木) 01:40:09.81
GetHashCodeやToStringはメソッドじゃなくてプロパティでもよさそうなんですが、
なんでメソッドなんですか?
138 :デフォルトの名無しさん2011/10/27(木) 07:50:54.12
>>135
メソッド実行時に値を得る操作を行うから
139 :デフォルトの名無しさん2011/10/27(木) 08:16:48.55
System.Data.SQLite の SELECT 文を高速化する方法ある?

WPF の Converter 内で SELECT 文発行してたらさすがに遅すぎで、
コネクションは使いまわしにしたけどあまり早くならなかった。

事前に必要な分だけ事前にメモリに読み込んで置く方法もあるけど、
それだと、DBが更新されると、メモリ側も同期して更新する処理を
書く必要があるのでめんどい。

SQLite に詳しい人いたらおしえてください。

148 :デフォルトの名無しさん2011/10/27(木) 21:42:58.63
>>139
どれぐらいの頻度でどのぐらいの大きさのを読みに行ってるのか分からないからなんとも。
でもまあ、とりあえずキャッシュ仕込むのは基本にして王道かと。
149 :デフォルトの名無しさん2011/10/27(木) 21:51:10.19
>>139
WPFならModelの中でやって下さいConverterはそういうことをするところじゃない
140 :デフォルトの名無しさん2011/10/27(木) 10:40:12.36
インテリセンスのおかげで、継承とかインターフェイスが利点がわかりやすいというのはあるよな。
ジェネリックもなかば、インテリセンスが便利になるというのが実感だしww
141 :デフォルトの名無しさん2011/10/27(木) 10:51:02.37
namespaceとクラスの違い葉なんですか?
142 :デフォルトの名無しさん2011/10/27(木) 11:02:58.49
>>141
ちょっと答えになってないかもしれないけど
名前空間の中にクラスがある。名前空間以外にはクラスが書けない
ただこれだけ。違いは?言われても、これしか答えられない
車に例えると「フレームとエンジンの違いは何?」と聞かれてるみたいなもの
153 :1412011/10/27(木) 22:17:49.58
>>142-145ありがとうです
144 :デフォルトの名無しさん2011/10/27(木) 11:34:45.26
クラスと構造体の違いみたいな物
146 :デフォルトの名無しさん2011/10/27(木) 18:08:29.69
>>144
はぁ?
145 :デフォルトの名無しさん2011/10/27(木) 11:40:59.66
ファイルシステムのフォルダとファイルの認識でいいよ。
現実のフォルダとは一致させなくていいだけで。
150 :1392011/10/27(木) 22:02:21.56
やっぱりWPF糞だわ
そしてお前らもな
質問したおれがバカみたい
152 :デフォルトの名無しさん2011/10/27(木) 22:08:28.90
待った、お前が自分(>>150)のことをバカみたいって自戒するのはいいよ

俺らもバカって何なんだ
151 :デフォルトの名無しさん2011/10/27(木) 22:07:28.08
そんなことよりWPFはベストプラクティスに辿りつくまでがえらく長い
154 :デフォルトの名無しさん2011/10/28(金) 13:06:59.71
初心者のボクが作った音声プレイヤーをMITライセンスで公開したら誰かコミットしてくれますか?
156 :デフォルトの名無しさん2011/10/28(金) 13:18:31.47
まず初心者のキミが作った音声プレイヤーを公開して質を見ないとな
158 :デフォルトの名無しさん2011/10/28(金) 14:06:25.64
http://ameblo.jp/vcplusplusnote/entry-10270997092.html
これを使って2列あるListViewの2列目(SubItems[0]の列)をソートした後、そのListViewにitemをAddしようとすると
エラーになってしまうんですがどうすればいいですか?
160 :デフォルトの名無しさん2011/10/28(金) 18:23:10.06
どういうエラーか言わないのにどうしたらいいかは聞くんか

姉さん事件です
どういう事件かは言えませんがどうしたら?

知るか
161 :デフォルトの名無しさん2011/10/28(金) 18:30:06.74
できれば、何の例外が出たかくらいは教えてくれ。
ArgumentOutOfRangeExceptionか?
164 :デフォルトの名無しさん2011/10/28(金) 19:32:32.39
>>161
はい、それがハンドルされませんでしたと出ます。
165 :デフォルトの名無しさん2011/10/28(金) 19:33:48.52
private void button_ItemAdd_Click(object sender, EventArgs e)
{
ListViewItem itm = ListView1.Items.Add("cccc");
itm.SubItems.Add("sub_ccc");
}

この5行のうち、3行目のItems.Addの段階でソート処理が走るのよ
でもSubItemsにAddしてるのは4行目なわけだ
だからソートしてる段階ではまだ「存在してねえんだよクソカス」って状態なの
どうすればいいかは自分で考えて
172 :デフォルトの名無しさん2011/10/28(金) 22:56:33.32
>>165
分かりました。ありがとうございます。
167 :デフォルトの名無しさん2011/10/28(金) 19:40:40.96
流れるようなインターフェースになりたかったけどなれてない感じ
171 :デフォルトの名無しさん2011/10/28(金) 22:56:22.60
C#, C♯, C#相談室 Part68で解決しなかったので移動しました。

DataGridViewで、コンボボックスの列を作りました。こいつはデザイナで作ったもので
コードは全部自動生成です。このコンボボックスの色を変えたいです。
まず、ここをみて試してみたところ、
http://dobon.net/vb/dotnet/datagridview/cellcolor.html
TextBoxのセルは成功しましたが、Comboboxでは色がかわらない。選択肢が下にのびる
ところだけは変わるけど。
Display StyleをNothingにすると、一応色変わるけど、選択できることをユーザに示さ
ないといけないので、StyleはDropDownかCombo必須です。
また、次のサイトでも同じ質問がを見つけましたが、未解決のようです。
http://bbs.wankuma.com/index.cgi?mode=al2&namber=9219&KLOG=9

C#相談室で、OnDrowItemをoverrideというアドバイスを頂きましたが、当方あまり理解
できず残念ながら生かせません。このレスの解説、または別の解決をお願いします。

326:デフォルトの名無しさん :sage :2011/10/28(金) 10:48:23.79
OnDrawItemをoverrideして(protected override void OnDrawItem(DrawItemEventArgs e))
e.Graphics.DrawStringで文字を書く。背景色はe.Graphics.FillRectangle
フォーカスを示す四角形はe.DrawFocusRectangleでOK。
173 :デフォルトの名無しさん2011/10/28(金) 23:17:59.65
1/1000秒をカウントする一番最善な方法ってございませんか?
175 :デフォルトの名無しさん2011/10/29(土) 00:02:48.35
ListViewの行間を調整するにはどうすたらいいですだ?
176 :デフォルトの名無しさん2011/10/29(土) 02:10:58.24
DirectShow .NET(ttp://sourceforge.jp/projects/sfnet_directshownet/)を用いて開発しようと思っているのですが、ライブラリの使い方が分かりません。
sampleを読んで機能を把握するしかないのでしょうか。
177 :デフォルトの名無しさん2011/10/29(土) 04:36:40.56
>>175
オーナードローを有効にしてWndProcでWM_MEASUREITEMを拾って高さを返す

>>176
家庭教師でも雇え
186 :デフォルトの名無しさん2011/10/29(土) 21:53:59.29
>>176
DirectShowとSystem.Runtime.InteropServicesの学習
183 :デフォルトの名無しさん2011/10/29(土) 12:49:51.95
Chartの拡大範囲をマウスで選択するとき、小数以下で選択できないんですけどどうすればできるようになりますか?
185 :デフォルトの名無しさん2011/10/29(土) 21:53:48.35
Stripmenuの子がいくつかあってCheckOnClickでチェック状態を反転させるようにしてるのですが
1回クリックするたびにShowDropDown();状態が消えてしまいます消えないようにする定番の方法を教えてください
209 :デフォルトの名無しさん2011/10/30(日) 09:44:36.97
>>185
ドロップダウンのClosingイベント等でキャッチして
条件にあえば.Cancel = true;にすれば閉じない
187 :デフォルトの名無しさん2011/10/29(土) 22:52:01.44
windowsのコマンドラインから実行したとき、ctrl+zが押されたときに特定の処理をやりたいのですが
押されたか知る方法はございませんか?
188 :デフォルトの名無しさん2011/10/29(土) 23:02:53.23
確認するが、それはコンソールアプリだよな?
そうであればConsole.ReadKeyでキー入力は取れる
そうでないなら起動したらコンソールから切り離されるから無理
189 :1872011/10/29(土) 23:07:47.32
ごめんなさい、スレ間違いましたorz
rubyスレで質問したつもりでした
質問は取り下げます
190 :デフォルトの名無しさん2011/10/29(土) 23:27:57.28
例えば性別テーブル
1 男
2 女
があって

性別テーブルからコンボボックスにFillでリストを表示させて、その値によってdgvの絞り込みを行っていますが、性別テーブルに無い全て(男女共)表示させたい場合どのようにすればいいですか?
192 :デフォルトの名無しさん2011/10/29(土) 23:34:06.24
Fillしてコンボボックスにバインドする前に適当な値の空行を追加しろ
んで空行が選択されたらBindingSourceのFilterから性別を省くような処理を書け

>>190は説明不足が過ぎるから信頼性は知らん
193 :デフォルトの名無しさん2011/10/29(土) 23:47:07.75
GetDirectoriesでStringにファイルのパスを入れたのですが
ファイル名だけ欲しいので最後の\までを切り取りたいです
どうすれば良いですか?
197 :デフォルトの名無しさん2011/10/30(日) 02:07:53.64
NetworkStream#ReadTimeout の質問です。
ReadTimeout を設定すると一回目はそれなりの時間だけ待機してくれますが
二回目以降は即座にエラーになります。
※ それなり : 3秒を指定して3.5秒かかっているのはまあ許容

何をどう設定すれば、二回目以降もタイムアウトが有効になるでしょうか?

(サンプル)
http://ideone.com/t2EwI

(実行結果)
client send
server receive : abcdefg
00:00:00.0010001 client receive : abcdefg
server send
00:00:03.5122009 error : 転送接続からデータを読み取れません: 接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、接続できませんでした。または接続済みのホ
ストが応答しなかったため、確立された接続は失敗しました。。
00:00:00.0050003 error : 転送接続からデータを読み取れません: ブロック不可のソケット操作をすぐに完了できませんでした。。
00:00:00.0050003 error : 転送接続からデータを読み取れません: ブロック不可のソケット操作をすぐに完了できませんでした。。
server send
198 :デフォルトの名無しさん2011/10/30(日) 02:30:03.56
>>197
OSの仕様だから正常
199 :デフォルトの名無しさん2011/10/30(日) 02:39:30.24
え、一回しか効かないタイムアウトなんて、何に使うんでしょう?
申し訳ありませんが、例えばWindowsSDKのどこにそのような記述があるかお教えください。
201 :デフォルトの名無しさん2011/10/30(日) 02:54:23.04
そうですか。ともかく、ReadTimeout は使わない(依存しない)ほうが良さそうですね。
ありがとうございました。
202 :1972011/10/30(日) 02:58:07.62
ほんと使えねーなこのカス野郎ども
ちょっと難易度高めの質問したら
スルーしやがってよwwww
どうでもいいことには即レスする癖にww
あーあ、こんなとこで質問するんじゃなかったわwww
204 :デフォルトの名無しさん2011/10/30(日) 03:16:38.54
こういうネットに関してはPythonの方が楽だよな
1から処理し直さなくても手さぐりで進めていけるから
207 :デフォルトの名無しさん2011/10/30(日) 08:02:35.21
> Console.WriteLine(list.SelectedIndex); // これが 0 なのはDataSource設定時の仕様ですよね
false状態だと何も選択されていないから、何を代入してもゼロ

> Console.WriteLine(list.SelectedIndex); // なぜ -1 になるのでしょう…
trueになって正しい数値が入ってる
211 :デフォルトの名無しさん2011/10/30(日) 10:08:27.71
>>207
ありがとうございます。
>false状態だと何も選択されていないから、何を代入してもゼロ
list.SelectedIndex = 2; の時点ではちゃんと 2が代入できて画面上でアイテムの選択も反映されています。
また、list.SelectedIndex = -1; を2度行うと -1 が代入され、ちゃんと選択解除されてしまうんです。
208 :デフォルトの名無しさん2011/10/30(日) 09:29:07.71
あークラスの作り方がワカンネ。
今までclass Form1に全部詰め込んで作ってたから、特に問題なく動いてたプログラムを、
クラス分けの練習しようと弄り始めたら、
アクセス領域とかコンテキストだとかヤヤこしいな。
まあ何とかその辺はクリアしたんだけど、
最後にフォーム上のコントロールを直接触ってる部分や、
スレッドセーフのためのInvokeがどうしても移動できない。
根本的に分かってないからだろうなあ。
どこかこういう初心者向けの記事載せてるサイトとか無いですかね?
210 :デフォルトの名無しさん2011/10/30(日) 09:57:02.39
>>208
>フォーム上のコントロールを直接触ってる部分や、
>スレッドセーフのためのInvokeがどうしても移動できない

そもそも動かそうというのが間違ってるっしょ?
classに切る以上、独立した機能として切り出すわけだから。

Invokeに関しては、Controlオブジェクトをフィールドに持っておいて、
そのクラスをインスタンス化するときにcontrol.CreateHandle等を呼んでおき
Invokeするときはそのオブジェクトを使うとか
212 :デフォルトの名無しさん2011/10/30(日) 11:06:29.11
>>210
あんがと。でもワカンネwww
あんたはそれをどうやって学んだの?
プログラミング歴1年くらいの頃に戻って、
アドバイスしてくれよ。
参考になった文献とかさ。
213 :デフォルトの名無しさん2011/10/30(日) 11:47:33.82
>>212
アントニオ猪木の『道』でも読んだらどうだろう。
いやマジで
214 :デフォルトの名無しさん2011/10/30(日) 12:01:59.00
>>212
dll作ったことあるか?
デリゲート、インターフェイスが何か説明できる?
WPFちょっとやってみれば?

俺はプログラミング初めて2週間だけど
理解できてるよwww
215 :デフォルトの名無しさん2011/10/30(日) 12:08:25.95
>>208
>スレッドセーフのためのInvokeがどうしても移動できない。
Invokeの移動って何ですか?
216 :デフォルトの名無しさん2011/10/30(日) 12:55:56.76
>>214
dllの作りかたの説明をお願いします。どうやって学んだの?
デリゲート、インターフェイスが何か説明されても用法要領がわからないので参考になる例題をお願いします。
WPFちょっとやってみたいので、ちょっと2週間ほど教えてください。まじで。
217 :デフォルトの名無しさん2011/10/30(日) 13:33:28.82
>>216
> >>214
> dllの作りかたの説明をお願いします。どうやって学んだの?
新規追加>クラスライブラリ
ネットで調べた

> デリゲート、インターフェイスが何か説明されても用法要領がわからないので参考になる例題をお願いします。
invokeやってるんだからデリゲートは使ってるだろw
同じインターフェイスを持った者は同じように扱える
モデルクラスが増えてきたら考えていいんじゃね
てか、Viewと疎結合したいなら必須だろーw

> WPFちょっとやってみたいので、ちょっと2週間ほど教えてください。まじで。
俺も今勉強してるとこなんだよwww
219 :デフォルトの名無しさん2011/10/30(日) 14:31:54.12
>>216
一度C#から離れてオブジェクト指向調べてみたら?
デリケートは無いかも知れないけど、インターフェ−スの用法とかはそれで分かるはずだよ
218 :デフォルトの名無しさん2011/10/30(日) 14:30:08.43
秀丸マクロから呼び出せるDLLを作ることは可能ですか?
221 :デフォルトの名無しさん2011/10/30(日) 14:35:52.98
>>218
・C++からプロセス起動 ・C++/CLI ・C++でCLRホスト ・逆P/Invoke
優先度順
222 :デフォルトの名無しさん2011/10/30(日) 14:39:01.58
700 名前:デフォルトの名無しさん[sage] 投稿日:2011/10/30(日) 04:45:34.70
糞ったれがあああああああああああああああああああああ
やりたいこといっぱいあるのにXAMLの糞のせーで全然先にすすまねええええええええwwwwwwwwwwww

704 名前:デフォルトの名無しさん[sage] 投稿日:2011/10/30(日) 05:39:28.80
あーわかったわ
お前がダメ人間なんだなwwwwwww
お前はちょっとやってできないと向いてないって思いこむ
ネガティブな根暗な人間なんだな?www

お前今まで何度も向いてないとかダメ人間扱いされてきたから
リアルじゃ言えなくてネットで言ってストレス発散してるんだなwww
お前それ理解できるのに何年かかったよww
WPF学び始めてからじゃにぞ、下積みから全部合わせただよw
そういう下積みがありゃ、それみりゃすぐ理解できるかもしれんが
こっちはプログラミング初心者なんだよカス

てか、お前もわからないんじゃねーの?
あーそーだ、きっとそーだなwww

707 名前:デフォルトの名無しさん[sage] 投稿日:2011/10/30(日) 05:52:18.16
もともとプログラマじゃないしwwアホかwwww
お前みたいな根暗な人間は日陰でずっとキーボード叩いてろハゲデブwwww
223 :デフォルトの名無しさん2011/10/30(日) 14:39:17.43
713 名前:デフォルトの名無しさん[sage] 投稿日:2011/10/30(日) 07:19:54.72
>>708
何もかもだよ
staticResouceとかも意味わからない
@ITのとこも全部みたが説明自体が難しくてさっぱりだ
丸暗記するのもなんか腑に落ちないしな
あーいらいらするわ
これ独学でやるの無理なんじゃね?
WinFormsなんて最初から普通にプログラムかけたぞ
めちゃくちゃわかりにくいわXAML

ただ、ツリービューにコレクション表示したいだけがwww
なんでこんなわけのわからないコードを書きまくらなきゃいけないんだよ
どーこーがー生産性向上なんですかーーー?おしえてくれませんかねーww
こんなアホ臭いことずっとやっていかなきゃならないのかよwwww

722 名前:デフォルトの名無しさん[sage] 投稿日:2011/10/30(日) 08:23:52.17
>>719
あーわかったお前これ自分のこといっているんだろww
お前がVBばっかりやっててオブジェクト指向全く理解できないで
リストラされたから、その腹いせで言っているんだろwww
昔の言語は上から順番だったからな
お前そういうのばっかりやっててついていけないんだろ?w

だから、質問者にオブジェクト指向を理解してないとか何度もいうんだろw
お前がそのレベルなんだよwww
コントロールはクラス?何当たり前のこといっちゃってるのwww
そんな次元ですか?

TreeViewItemをクリックしたときのヒエラルキの挙動が知りたいんだよ
こいつなにやってんだよ全く、
224 :デフォルトの名無しさん2011/10/30(日) 14:39:51.70

733 名前:デフォルトの名無しさん[sage] 投稿日:2011/10/30(日) 11:53:51.10
>>717
なんだよできないのかよカス

>>728
そうそう自由にかけるんだよ
正しい使い方はこれです!みたいなのがわかんねーんだよ

>>725
早く答えろよ
ヒエラルキは内部でどうしう処理してるのかさ
誰一人答えられないじゃん
偉そうなこと言って、俺は知能が高いとか言っちゃって
ただ盲目的に丸暗記しているバカばっかじゃんwwwwwwwwwwwww
プログラミングに知能なんていらないよwww
時間と知識だけでいける分野

お前らが何年もかけて学んだことを
おれは数日で会得しているんだからなww
知能でいったら俺の方が上だよwwwwwwおっさんwwwwwwwww

>>724
エッセンシャルなんてしるかよアホか
226 :デフォルトの名無しさん2011/10/30(日) 14:52:02.32
Vectorにあるようなメトロノームを作りたいのですが
C#で作ることはできますか?
227 :デフォルトの名無しさん2011/10/30(日) 14:57:24.22
2chだからって無理にネタ風に書かないと恥ずかしいとでも思ってるのかねこういう馬鹿って。

はっきり言うけど、2chでネタなんかやってる奴は、自分の実生活では
ネタ一つ言い合う相手もいないコミュニケーション弱者。

ボキュはコミュニケーション弱者です、って言って回って何が面白いのやら。
228 :デフォルトの名無しさん2011/10/30(日) 15:01:57.69
メトロノームちょくちょく見かけるぞ
コピペ?
229 :デフォルトの名無しさん2011/10/30(日) 15:02:52.64
こういう奴がいるから、まじめに質問してる人が迷惑こうむる。
なりすましたり茶化したりするからロクなレスが付かなくなる。
230 :デフォルトの名無しさん2011/10/30(日) 15:03:32.38
メトロノームはちょっと前にいた人だ。
初夏くらいのころだっけ?

理解力はなさそうだけど誠実そうな人だったよ。
232 :デフォルトの名無しさん2011/10/30(日) 15:25:42.08
>>228さん
>>230さん
HSPを一ヶ月やったことがある程度でこれからC#を始めようと思ってます
233 :デフォルトの名無しさん2011/10/30(日) 15:40:43.85
出来るよ
で、Timerは何を使ったらよろしいでしょうか?
と続く感じ
234 :デフォルトの名無しさん2011/10/30(日) 15:49:17.01
ああ夏のか
反応なくて逆ギレしてた回答者に粘着されてたな
235 :デフォルトの名無しさん2011/10/30(日) 15:53:23.05
メトロノームは音声ストリームをリアルタイムに合成すればハードウェアの限界まで精度が上がるって結論になっただろ
238 :デフォルトの名無しさん2011/10/30(日) 18:18:42.25
C#からファイルを1つ以上選択してパラメータと一緒に送信しJSONで結果を得るプログラムを作りたいと思ってます。
WebClient.UploadFileだと1度に1つしか送れないので使えません、

下のような感じで使えるクラスが標準であればよいのですが無いようです。
既にあれば出来合いのものでもよいのでご存知の方いたら教えてください

HttpRequest req = new HttpRequest();

FormData data = new FormData();
// パラメーター
data.Add("title", "ファイルを送りたい");
data.Add("name", "名前");
// ファイル
data.Add("inputFile1", (System.IO.FileStream)file1);
data.Add("inputFile2", (System.IO.FileStream)file2);

req.Open("POST", "http://example.com/", true);
req.Send(data);
239 :デフォルトの名無しさん2011/10/30(日) 22:05:55.54
>>238
あまりいい方法とは思わないけど、
適当なクラスを作って、バイト配列でファイルを格納し、
それをバイナリでメモリ上にシリアライズしたのを送るとかではだめなの?
通信するなら圧縮もした方がいいのかな?
240 :デフォルトの名無しさん2011/10/30(日) 23:17:41.52
マルチパートデータで送りたいってんだろ
質問者も言葉が足らんがシリアライズじゃ駄目駄目だな
241 :デフォルトの名無しさん2011/10/30(日) 23:27:19.67
multipart-dataって地味に面倒くさいんだよな
http://ideone.com/D1Qra

サーバーの方で受け付けるboundaryやmultipart header制限したりするから汎用化も大変
244 :デフォルトの名無しさん2011/10/31(月) 00:18:37.58
>>241
ありがとうございます、これはわかりやすい。頑張ってみます
242 :デフォルトの名無しさん2011/10/30(日) 23:44:36.48
StreamReaderを引数に取る関数のテストを書きたいんだが
文字列->StreamReaderの変換ってどうやるのさ
243 :デフォルトの名無しさん2011/10/30(日) 23:51:09.78
引数に取るものをTextReaderにしてStringReaderを使う
あるいはString→byte[]→MemoryStream→StreamReader
247 :デフォルトの名無しさん2011/10/31(月) 14:33:38.11
>>243
別人だけど正に今探しにきた内容だったわー。ありがとう。
日本語を含むStringをStreamに変換したかったんだけど、MemoryStreamを介すると日本語が上手くいかなかった。
最初からStringReaderのコンストラクタに文字列を食わせればOKだった。
253 :デフォルトの名無しさん2011/10/31(月) 19:32:05.45
>>243
なるほどありがとう TextReaderが親クラスだったのか

でもStreamReaderのが汎用性有りそうな名前してると思う
245 :デフォルトの名無しさん2011/10/31(月) 01:21:35.87
WCHAR *g; *g= this->textBox1->Text->ToCharArray()[0] ;
コンパイルは通るし画面のテキストボックスにも文字はちゃんと表示されてるのに
オブジェクト参照がオブジェクト インスタンスに設定されていません とエラーが出て止まります。どうすれば良いですか?
246 :デフォルトの名無しさん2011/10/31(月) 01:26:58.94
>>245
C++/CLIスレに行きなさい
248 :デフォルトの名無しさん2011/10/31(月) 15:49:51.25
可変長配列を多次元配列もしくはジャグ配列にすることって出来ます?

List<double[]> hoge = new List<double[]>(100);
で、宣言は通るのですが、そこに値を入れたり参照することが出来なくって
249 :デフォルトの名無しさん2011/10/31(月) 16:00:55.26
ちょっと何言ってるか分からないが
ひょっとしてnew List<T>(int)の引数を初期要素数と勘違いしてる?
あとListをnewすると全要素が自動的に生成されるとか思ってる?

そこから一行目がまたさっぱりつながり不明なんだけども
250 :2482011/10/31(月) 17:01:58.78
>>249
すいません、ジェネリックそのものを勘違いしてました
普通にジャグ配列で良かったです
251 :デフォルトの名無しさん2011/10/31(月) 18:35:00.76
教えて君向けのgoogleの検索の使い方を教えるサイト教えてください
「ね?簡単でしょ」みたいな感じの奴
このスレで見かけたんですが忘れました
252 :デフォルトの名無しさん2011/10/31(月) 18:35:48.52
どうでもいいけどListを可変長配列と呼ぶのは違和感あるなあ。
リストと配列は全然別の概念だろう。
254 :デフォルトの名無しさん2011/10/31(月) 20:28:17.73
これはもしかしたらC#の問題では無いかもしれないけれど、質問させてください。

現在、Visual C# 2010 Express でスクリーンセーバーを作成しています。そしてスクリーンセーバーの
各設定(背景の色など)をアプリケーション構成ファイル(app.config)に保存する仕様にしました。

設定変更用のダイアログボックスを作成し、そこで「Properties.Settings.Default.○○」を利用して
設定を変更しており、設定した値はきちんと保存されています。.scrファイルを右クリックして「テスト」
でスクリーンセーバーを起動すると、設定がきちんと反映されて動作します。

しかし、私は今 Windows7 マシンを使っているのですが、.scrファイルを右クリックして
「インストール」を選択するとスクリーンセーバーの種類や待ち時間を設定するダイアログが
表示されます。ここにある小さなプレビュー画面や、「プレビュー」ボタンを押して呼び出される
スクリーンセーバーは、きちんと設定が反映されて動作します。

しかし、待ち時間の経過によりスクリーンセーバーが呼び出される場合は、何故か設定が全く反映されず
app.configのデフォルト値で動作してしまいます。ちなみに、サブとして WindowsXP のマシンも持っている
のですが、そちらではこのような問題は起こらず設定がきちんと反映されます。

いくら考えても、どれだけネットなどで検索しても、全く原因の見当がつきません。
どなたかご助言をいただければうれしいです。
255 :デフォルトの名無しさん2011/10/31(月) 21:11:50.84
>>254
お前には向いてない
諦めろ
256 :デフォルトの名無しさん2011/10/31(月) 21:13:24.75
>>254
ここはプログラマになれない低学歴のニートしかいませんので
こちらに移動願います
C#, C♯, C#相談室 Part68
http://hibari.2ch.net/test/read.cgi/tech/1316703574/
257 :2542011/10/31(月) 21:14:37.16
そうみたいですね
移動しまーす
258 :デフォルトの名無しさん2011/10/31(月) 21:24:07.47
>>257
本物の254です。確かに移動しようとは思うのだけど、何故成りすましがw
259 :デフォルトの名無しさん2011/10/31(月) 21:25:45.22
「www」でこのスレ抽出すると分かるよ

しかし何だ?
Windows7だとスクリーンセーバーをサービスコンテキストで実行しているとでも言うんかな?
260 :デフォルトの名無しさん2011/10/31(月) 21:30:44.58
>>259

254です。本当に原因が分からないんですよね。
どうやら↓にも同じ症状が出ている方が居るようですが、こちらでも解決策は出ていないようで…。

ttp://social.msdn.microsoft.com/Forums/ja-JP/csharpgeneralja/thread/0a500f54-1426-43d2-9435-68346ec6add4/
261 :デフォルトの名無しさん2011/10/31(月) 21:35:16.61
ちょっと待て
app.config?user.configじゃなくて?
263 :デフォルトの名無しさん2011/10/31(月) 21:39:42.09
>>261
ああ確かに、実際に読み書きされるのは user.config です。読み直したら
誤解を招く書き方となっており申し訳ないです。

きちんとAppDataフォルダ内にはuser.configが生成しており、設定を変更するたびに
きちんと内容に反映されています。待ち時間の経過以外でスクリーンセーバーが呼び出される
ときには、きちんと変更した設定が反映されます。

どうしてWindows7限定で、待ち時間の経過で呼び出されたときだけ、反映してくれないのか……。
265 :デフォルトの名無しさん2011/10/31(月) 21:42:29.72
>>263
手動でやった方が速いだろアホ
てか、質問者は早く相談スレいけ

ここはキチガイと戯れるスレになったんだからな
262 :デフォルトの名無しさん2011/10/31(月) 21:38:24.87
とりあえずメッセージボックスとかログとか仕込んで実行時のデータ確認しなよ
264 :デフォルトの名無しさん2011/10/31(月) 21:41:35.60
とりあえず、スクリーンセーバーのエントリポイントでGetUserNameやってみ
266 :デフォルトの名無しさん2011/10/31(月) 22:00:41.40
254です。色々とご助言ありがとうございます。もう少し試行錯誤して
原因を追究してみたいと思います。
267 :デフォルトの名無しさん2011/10/31(月) 23:41:24.41
ProcessMonitorでどこのファイル読みに行ってるとか確認すれ
あとファイルでなくレジストリにするとか
268 :デフォルトの名無しさん2011/11/01(火) 01:08:04.57
C#でASP.NETのシステムに関わっています
いま、XMLデータがPOSTで送信されるのでそれを受けとるところでうまくいきません
テストページからFormタグでPOSTしたデータをRequst[inputタグ名]で取得することはできましたが本番ではどのようにして送付されるかわかっていません
該当ページに対してPOSTでXMLデータが投げられたら受けとるようにしたいのです
なにかいい手はありますか?
269 :デフォルトの名無しさん2011/11/01(火) 01:20:57.64
んなもんInputStreamから生のバイトストリーム読めよ
273 :デフォルトの名無しさん2011/11/01(火) 06:54:41.69
>>269-270
サンクス
やってみます
270 :デフォルトの名無しさん2011/11/01(火) 01:25:11.23
XMLオブジェクトが欲しければXmlDocument.Load(Stream)とかに食わせたったらええねん
271 :デフォルトの名無しさん2011/11/01(火) 03:53:55.78
XMLのことを聞いてるみたいなので初心者ながらちょっと質問です。

ATOMでBLOG記事を取得しようとしてるんだけど<link>要素を取得しようとしたら
<link rel="alternate" type="text/html" href="test.html"/>
こんな感じになっていたわけです。RSS1.0とかだとlinkにはURLが入ってたの。
だからちょっと困っているのですが、上のATOMのlink要素からURLのみを抜く方法を教えてください。
ちなみに「SyndicationFeed.Load」とか使わないでパーサ使う方法でお願いします。
274 :デフォルトの名無しさん2011/11/01(火) 07:00:17.32
>>271
何に困ってるのかがまず分からない
href属性の値見ればいいじゃん?
284 :デフォルトの名無しさん2011/11/01(火) 16:54:16.17
>>274
なんて説明したらいいのかわからなかった。本当に申し訳ない。

たとえば
taitoruuuuuuuuuuu_no_linkuuuuuu = yousoooooooo.Element(ns + "title").Value
こんな感じなコードを書く訳ですよ。nsにはatomなので
http://purl.org/atom/ns#渡してます。

この状態でrss1の時はlinkにはURLが入ったのでそのまま表示をしたんだけど、
atomだと勝手にいろいろされちゃうので、その「href属性」を取り出す方法ってのを教えてほしいです。
申し訳ありませんがよろしくお願いします。
285 :デフォルトの名無しさん2011/11/01(火) 17:00:54.14
>>284
C#, C♯, C#相談室 Part68
http://hibari.2ch.net/test/read.cgi/tech/1316703574/
272 :2712011/11/01(火) 05:35:43.10
すいません、ここは基地外スレでした
C#, C♯, C#相談室 Part68
http://hibari.2ch.net/test/read.cgi/tech/1316703574/
に移動します
275 :デフォルトの名無しさん2011/11/01(火) 11:43:23.61
interfaceのメリットを三行で教えてください。
279 :デフォルトの名無しさん2011/11/01(火) 12:24:57.23
>>275
ポリモーフィズム
そのクラスがどんな機能を持っているのか分かりやすい
どんなクラスでもインターフェースさえ実装してれば同じものとして扱える
288 :デフォルトの名無しさん2011/11/01(火) 17:49:02.70
>>275
フレームワーク作ってる(または、作った後の)時に他人に実装作業をキックするときに、仕様を明確にし易いかな。
帰ってきた実装が明後日を向いてる時もあるだろうけど。
278 :デフォルトの名無しさん2011/11/01(火) 11:57:00.23
簡単にあわ立ち
頭皮の各層のうるおいを守りながら洗えるから
フケやかゆみを防ぐことができる
280 :デフォルトの名無しさん2011/11/01(火) 12:49:20.36
インターフェイス自体糞面倒
定義に移動ってやるとインターフェイスファイルに移動するし
引数変えたり、メソッド増やしたりするたびに
両方書き換えないといけないからな
281 :デフォルトの名無しさん2011/11/01(火) 15:28:28.18
不便だと感じるときは、まず使い方を間違ってないか疑うべきだ
レンジdeパスタのように
282 :デフォルトの名無しさん2011/11/01(火) 15:36:12.51
あらゆるものをインターフェイスにする流儀はある
単体テストだけが目的で、実稼動時の実装は大抵一つだけ
286 :デフォルトの名無しさん2011/11/01(火) 17:02:53.02
Element拡張メソッドがXElementオブジェクト返すってのは分かるよね?
あとはMSDNでXElement調べれば属性の取得方法も分かるよ
291 :デフォルトの名無しさん2011/11/01(火) 22:11:35.62
>>286-287
だめだ…。PHPとかならわかるがC#で書くとなるとよくわからん…。
説明を読む限りだと
http://msdn.microsoft.com/ja-jp/library/bb348975.aspx
ここら辺がそれなんだろうなぁと思いながらわからないです…。

無い頭ながら考えてみたんだが
element().element().value
のような感じでxnameを手に入れるのかなと思ったら当然エラー。

本当に初心者で申し訳ないです…。

287 :デフォルトの名無しさん2011/11/01(火) 17:07:34.44
もうちょっと概念から行った方が良いのかしら
<link href="hoge"/>
これはlink要素を指してて、このlink要素は「hogeという値を持つhref属性」を持ってる。
XElementのValueは開始タグと終了タグの間にあるテキストを指すわけだが、このlink要素は中身がないから当然Valueも空。

hrefの値を取得するには、
まずXMLの中からlink要素を特定する。
そのlink要素のhref属性を特定する。
そのhref属性の属性値を取得する。
という手順になる。
289 :デフォルトの名無しさん2011/11/01(火) 18:41:40.95
Cにくらべてマクロが弱くてがっかりしています
とくに__LINE__ は どうやって代用するものなんでしょうか?
290 :デフォルトの名無しさん2011/11/01(火) 18:43:28.01
StackTraceクラスを使う
C#の次のバージョンでは__LINE__相当の機能がサポートされる予定
292 :デフォルトの名無しさん2011/11/01(火) 22:14:41.77
もういいよ
話が通じないことだけは分かった
答えて欲しかったらソース晒せ
293 :デフォルトの名無しさん2011/11/01(火) 22:18:24.35
いや、もう諦めた
こんなとこで質問するんじゃなかったわ
295 :デフォルトの名無しさん2011/11/02(水) 01:14:18.54
最近去り際に余計なこと言い残してくヤツ増えたね
311 :デフォルトの名無しさん2011/11/02(水) 11:25:26.75
>>295
それ全部俺だけどな
296 :デフォルトの名無しさん2011/11/02(水) 01:18:22.18
気にしない気にしない
完璧な答えが貰えると思い込んでたり、自分の質問の仕方が正しいと思い込んでたりといろいろだけどねw
こっちも答えたいんだが情報が足りなかったり、得意分野ではないけど調べると対応できるかもと
思って情報を引き出そうとしても、それすら気に入らなくて切れて去っていく人もいるし

エスパーじゃないのでわかるわけがないのにね
297 :デフォルトの名無しさん2011/11/02(水) 01:20:05.74
でもあれだなとりあえずID機能実装してくれ
成りすましで荒らしてるだけのやつもいるので
298 :デフォルトの名無しさん2011/11/02(水) 02:10:02.55
C#で2ちゃんねるにID機能を実装するにはどうすればいいんですか?
299 :デフォルトの名無しさん2011/11/02(水) 02:39:03.07
スタックとヒープに未だによくわからないんだけど
スタックがint型とかstring型とかの値を指してて、ヒープがobject型やインスタンスを指してるの?
302 :デフォルトの名無しさん2011/11/02(水) 09:03:23.10
>>299に便乗
その認識で合ってるけど、全ての値型がスタック?
それともスタックに積まれたメソッドのローカル変数のみ?
結局どんな型も値型変数とメソッドで構成されるから
何でもかんでもスタックに確保したら足りなくなっちゃうよね?
303 :デフォルトの名無しさん2011/11/02(水) 09:04:29.77
>>299
大ざっぱに言って
スタックはあらかじめ確保済みのメモリ
ヒープは必要に応じて確保するメモリ
スタックの主な用途はローカル変数を格納すること
で、そのローカル変数が値型だとメンバ丸ごとがスタックに格納される
参照型だとメンバ(実体)はヒープに置かれてて、その参照だけスタックに格納する
ちなみにintは値型でstringは参照型

>>302
当然参照型の中に含まれるものはすべてヒープに置かれる
305 :3022011/11/02(水) 09:13:00.19
>>303
すっきりした、ありがとう
307 :デフォルトの名無しさん2011/11/02(水) 11:20:46.02
>>303
確保するのが"new"ってこと?
309 :デフォルトの名無しさん2011/11/02(水) 11:23:15.87
>>307
そう
メモリ確保してそこにクラスをコンパイルして実行ファイルに埋め込んである
コピーするための雛形をコピーしてコンストラクタ呼んで初期化して・・・
310 :デフォルトの名無しさん2011/11/02(水) 11:23:47.97
>>307
(参照型については)そう
322 :2992011/11/02(水) 20:20:25.72
>>303
解答ありがとう。だいぶわかってきた。

>ちなみにintは値型でstringは参照型
ということはintはスタックでstringはヒープってことか
>ヒープは必要に応じて確保するメモリ
でもこの通りに考えるとint型の配列はヒープってことでおk?

304 :デフォルトの名無しさん2011/11/02(水) 09:07:11.69
つーか、そんなのは2ちゃんよりググレば詳しく説明してるサイトが
山ほどあるのに。
306 :デフォルトの名無しさん2011/11/02(水) 09:25:28.67
>>304
ググるキーワードがわからないってケースも少なからずあるかも知れぬ
308 :デフォルトの名無しさん2011/11/02(水) 11:22:04.15
C#は値型のローカル変数の初期化にもnew使うから一概にそうとは言えない
312 :デフォルトの名無しさん2011/11/02(水) 11:33:12.53
ここ読んだら一発でわかった
http://ameblo.jp/syou007/entry-10023299808.html
313 :デフォルトの名無しさん2011/11/02(水) 11:40:09.43
>>312
ヒープに確保する領域の中ってメンバ関数への参照は持たないんだっけ?
オーバーライドとかどう対応するんだろ?
314 :デフォルトの名無しさん2011/11/02(水) 11:43:57.22
>>313
静的型だから実際の型さえわかればメソッドは一意に決まるので、インスタンスはメソッドを持たない
インスタンスは型情報を持っていて
その型情報をもとに検索する
316 :デフォルトの名無しさん2011/11/02(水) 11:46:20.01
>>314
メソッドを個別に持たない(コピーしない)のはわかるけど
メソッドの参照なり情報は持つんじゃないの?

まあオーバーライドしない場合はコンパイル時にコンパイラが仕事しちゃえばいいんだろうけど

でもクラスライブラリとかだとそういうのは都合悪いよね
317 :デフォルトの名無しさん2011/11/02(水) 12:02:03.14
>>316
インスタンスじゃなくて型がメソッド情報を持てば十分なの
ToStringで何が呼ばれるかはインスタンスそのものじゃなくてその型で決まるだろ?
インスタンスは型情報を持てば十分
315 :デフォルトの名無しさん2011/11/02(水) 11:44:32.29
すまん
下の方に但し書きであった

>*3・・・メソッドはスタティック領域(メソッド領域)と言われる領域に確保されます。インスタンスが違って
>もメソッドは同じ動作を行いますから、領域をいくつも使ったりすることはありませんのでメンバ変数分だけ
>領域が確保されます。
>(実際はクラスのサイズやその他の情報も持っている筈ですが、ここでは割愛いたします。)

318 :3172011/11/02(水) 12:13:48.74
その型で決まる
というのは、変数の型じゃなくてインスタンスの型で決まるってことね
Rubyみたいな動的型の言語ではインスタンスごとに持ってるメソッドが違ったりすることがあるけど
静的型の言語ではそういうことはない
補足
319 :デフォルトの名無しさん2011/11/02(水) 12:48:48.59
辞書<インスタンス,型>
辞書<型,メンバリスト>
でおけ
320 :デフォルトの名無しさん2011/11/02(水) 15:06:43.82
E.M(A) はMが仮想メソッドのとき
呼び出される関数は、Eが参照するインスタンスの実行時の型によって与えられる。
その関数は、Mの最派生実装を決定するルールをその実行時型に適用することで決定する。

言語仕様からしてこういう書き方だからな
たまたま>>319のように実装されてるのではなくて、そういう風に実装するのが前提
321 :デフォルトの名無しさん2011/11/02(水) 20:15:45.66
C#でtypedefをファイルを超えて使いたいときってどうするの?
具体的にはUInt32に適当な別名を付けたい
323 :デフォルトの名無しさん2011/11/02(水) 20:32:52.51
>>321
実験してみた。
Using構文でtypedefの機能は果たせるけど、ファイルを横断するのは難しい。っていうか自分には出来なかった。
ネームスペースいじったりしてみたけどダメだったし、Publicでいけるかとも思ったがそれもダメ。
うむー。
324 :デフォルトの名無しさん2011/11/02(水) 20:44:06.78
>>321
implicitにUint32と相互に変換できる別の値型を自分で作れば事実上別名と同じじゃない?

でも、そもそも別名なんていらんでしょw
325 :デフォルトの名無しさん2011/11/02(水) 20:50:28.92
>>323,324
ありがとうございmす
正攻法は存在しないかー
326 :デフォルトの名無しさん2011/11/02(水) 20:53:00.68
>>325
まー、モジュールにしたときに依存関係ができちゃうので、
ファイル個々に設定する方が後々めんどくさくないのかも。
328 :デフォルトの名無しさん2011/11/02(水) 23:43:03.22
>>324は正攻法だろ
本物のtypedefなんかよりよっぽど真っ当な方法
327 :デフォルトの名無しさん2011/11/02(水) 20:53:09.88
> でもこの通りに考えるとint型の配列はヒープってことでおk?
配列のインスタンスはヒープに確保されるね
329 :デフォルトの名無しさん2011/11/03(木) 00:38:19.40
そんなことのためにプリミティブ型の利点を捨てたくないです
331 :デフォルトの名無しさん2011/11/03(木) 11:28:08.02
ListViewでユーザーがアイテムのテキストを編集中に別のとこをクリックした時に
LabelEditモードを終わらせるにはどうしたらいいですか?
332 :デフォルトの名無しさん2011/11/03(木) 15:58:54.55
Janeのレス表示部分のように文字列を表示して
特定の文字をクリックしたときに特定の処理を行うようなプログラムを作りたいのですが
どういったコントロールを使用するのが妥当なのでしょうか?

表示する文字列はプログラムの処理によって変化し
文字列の行が長くなればそのコントロールをスクロールバーで上下にスクロールできるようにしたいのですが
333 :デフォルトの名無しさん2011/11/03(木) 16:16:48.30
334 :デフォルトの名無しさん2011/11/03(木) 16:28:13.34
>>333
ありがとうございます。
とりあえずRichTextBoxから試してみます
338 :デフォルトの名無しさん2011/11/03(木) 17:09:24.60
>>335
無理 っていうかやめて
>>336
座標から文字を取得するメソッドが>>333の中にある
335 :デフォルトの名無しさん2011/11/03(木) 16:38:37.57
public static bool operator +(bool b1,bool b2){ return (b1 || b2);}

こういうのて boolっぽい新クラス定義しないと無理なんでしょうか?
336 :デフォルトの名無しさん2011/11/03(木) 16:52:09.54
リッチテキストボックス内に
A
B
C
っていう3行表示して
Aをクリックした場合
Bをクリックした場合
Cをクリックした場合
で処理って変えられるの?
340 :デフォルトの名無しさん2011/11/03(木) 17:34:31.93
楽しさを解説してるようなURLくらい貼ってやりたいところだがそんなとこあるのかなーとか
342 :デフォルトの名無しさん2011/11/03(木) 17:59:29.77
自前で描画すればマウスの位置から特定の文字列と判断するのも容易だし
やってみれば意外と簡単だったりするかもよ。
343 :デフォルトの名無しさん2011/11/03(木) 18:35:20.53
とりあえず描画するのは簡単だ
でもコントロールとしてきちんと機能するものを作るのはアホみたいに手間がかかる
345 :デフォルトの名無しさん2011/11/03(木) 19:13:25.37
//スキル
foreach (Skill s in Skills)
{
s.Update(this);
if (s.State == State.CLEAR)
{
Skills.Remove(s);
}
}

大体やりたいことは分かると思うけど、これだと
>コレクションが変更されました。列挙操作は実行されない可能性があります。
って出てしまいます。

さて、どうすりゃいい?
351 :デフォルトの名無しさん2011/11/03(木) 21:45:56.46
>>345
Skills = Skills.Where(s => { s.Update(this);
return s.State == State.CLEAR;).ToList();
352 :デフォルトの名無しさん2011/11/03(木) 21:47:22.43
>>345
カッコ閉じ忘れた
Skills = Skills.Where(s => { s.Update(this);
return s.State == State.CLEAR;}).ToList();
353 :2382011/11/03(木) 22:08:06.08
238 です。241を参考にしながらようやくできました、自由に使ってやってください。

HttpRequest
http://ideone.com/2Hvfj
FormData
http://ideone.com/uYeca

FormData data = new FormData();
HttpRequest req = new HttpRequest();

req.Open("POST", "http://localhost/server.php");
data.Add("name", "名前");
data.Add("pass", "aaaaaaaaaa");
data.Add("api", "fileupload");
data.Add("inputFile1", (FileInfo)file1); 
data.Add("inputFile2", (FileInfo)file2); 

HttpWebResponse res = req.Send(data);

Encoding encode = System.Text.Encoding.GetEncoding("utf-8");
StreamReader readStream = new StreamReader(res.GetResponseStream(), encode);
// 応答をConsoleに
Console.WriteLine(readStream.ReadToEnd());
// コネクションを切断
req.Abort();
355 :デフォルトの名無しさん2011/11/03(木) 23:12:33.99
ラムダ式を勉強する→yieldを勉強する→WhereとSelectを自作してみる→完璧
356 :デフォルトの名無しさん2011/11/03(木) 23:18:39.42
ウェブブラウザコントロール使って
その中のリンクをクリックしたらクリックイベントが発生するようなことってできますか?
普通にhtmlのリンクとしてしか扱うことできないんでしょうか?
357 :デフォルトの名無しさん2011/11/03(木) 23:28:59.93
ついこの前もHtmlDocumentだかにClickあるって言ってなかったか
流行ってるのかこの質問
360 :デフォルトの名無しさん2011/11/03(木) 23:39:33.31
HtmlElementでClickを拾って、キャンセルしたいならReturnValueに…何を返すんだったかな
364 :デフォルトの名無しさん2011/11/04(金) 01:45:05.51
本屋で何買えばいいか迷って結局何も買えずに帰ってきた
奥義、究極の、至高の、猫でも、猿でも、10日で、作りながら覚える、入門、555連発
なにか「これぞ」という実践的な内容のものないかなぁ
369 :デフォルトの名無しさん2011/11/04(金) 05:29:59.73
Win32APIって言ってもP/Invokeで関数呼び出すだけだから難易度はそんなに高くないだろう
レイヤードウィンドウとかDirect2D使うなら別だけど
370 :デフォルトの名無しさん2011/11/04(金) 10:40:04.96
C#でクロスプラットフォームなアクションゲームを作っているのですが、Sleepの扱いでちょっと困っています。
Thread.Sleep(0)では見かけのCPU使用率が100%になって、素人に「なんだこの糞重いクソゲは」って言われそう
Thread.Sleep(1)では実際に10〜15ms程度休んでしまって、たまに動作の引っかかりを感じる
1msきっちりとまでは言いませんが、せめて3〜4msだけ休ませるような方法ってないですか?
371 :デフォルトの名無しさん2011/11/04(金) 10:50:10.42
ゲームは100%になるものです。
372 :デフォルトの名無しさん2011/11/04(金) 11:03:45.99
そもそも何のためにウェイトすんの
374 :デフォルトの名無しさん2011/11/04(金) 11:20:46.34
>>372
自宅のCorei7 2600Kとかだと余裕ですが、動作検証用に用意したPentiumD 805だと結構重たいので、
スレッドプール作ってスレッド分けしてみました。結果かなり改善されましたが、スレッドの数だけ
CPUのコアごとのCPU使用率が100%にへばりついてしまいます。そのためSleep(0)をSleep(1)に
置き換えたのですが、そうするとたまに動作の引っ掛かりを感じるようになりました。
373 :デフォルトの名無しさん2011/11/04(金) 11:16:08.50
ここ見とくと良いよ
http://d.hatena.ne.jp/NyaRuRu/20060910
378 :デフォルトの名無しさん2011/11/04(金) 11:26:14.86
>>371
やねうらお氏も同じこと言ってましたね……。
友人にもテストプレイさせたのですが、
「起動して暫くしたらPCファンがフル回転始めたwwお前のゲームだけだぞこんなのwww」
と言った反応だったので、何も知らない人はそんなもんなのかなあと。

>>373
そこ一旦は見つけたのですがVista以降とのことで読み飛ばしてました。
念のため読んでみます。
375 :デフォルトの名無しさん2011/11/04(金) 11:21:37.52
通りすがり
>Thread.Sleep(1)では実際に10〜15ms程度休んでしまって

知らんかった・・・そうだったのか・・・どおりで・・・
Sleep(0)では実質、どうなってるの?休んでるの?
376 :デフォルトの名無しさん2011/11/04(金) 11:24:03.10
>>375
> Sleep(0)では実質、どうなってるの?休んでるの?
他に処理待ちのスレッドがあれば一旦そっちにCPUを渡す。
そうでなければ即座に返る。
379 :デフォルトの名無しさん2011/11/04(金) 11:50:23.66
C#,アクションゲーム,クロスプラットフォーム
そもそも前提が間違ってるような・・・
381 :デフォルトの名無しさん2011/11/04(金) 11:59:45.71
以前ここのゲームループを参考にしてビリヤードぽい物を作った。
http://cs2ch.blog123.fc2.com/blog-entry-82.html


結論から言えば素直にXNA使えw
382 :デフォルトの名無しさん2011/11/04(金) 16:12:26.71
VS2010を使っているのですが、ChartコントロールでX軸の値を、実際の値以外の数値(もしくは文字)で表示させることは出来るのでしょうか?

動画の輝度をグラフにしているのですが、フレーム数そのままでは見辛いので時間表示にしたいと思っています。
理想としては、各フレームに格納されている値に若干バラツキがあるので、それをそのまま表示することです。
もしくは、動画時間をフレームレートで割って、大体の目安として時間を表示することです。
MSDN等を参考にしても上手く行かず、ググってもVB6の情報等が入り混じっててわかり辛く一通り試してみましたが上手くいかないので質問してみました。
http://msdn.microsoft.com/ja-jp/library/dd456628.aspx
よろしくお願いします。
383 :デフォルトの名無しさん2011/11/04(金) 16:46:38.60
モデルクラスとプレゼンタークラスのプロパティをバインドするにはどうすればいいですか?
384 :デフォルトの名無しさん2011/11/04(金) 18:05:29.35
Control.DataBindingsプロパティを使う
プレゼンタークラスも非Controlクラスなら知らない
385 :デフォルトの名無しさん2011/11/04(金) 18:25:34.72
プレゼンターも非contorolです

こんな感じにするしかないのかな?
model.PropatyChanged+=(s)=>{this.Name=s};
387 :デフォルトの名無しさん2011/11/04(金) 18:42:58.03
ビューに>>385なら分かるけどプレゼンターに>>385のコードっておかしくない?
MVPでプレゼンターのコードなら
model.PropertyChanged += (s) => view.Name = s; じゃね
質問者が思ってるのはMVPというよりプレゼンテーションモデルに近いような
389 :デフォルトの名無しさん2011/11/04(金) 19:29:08.79
>>388
分かってると思うが、大前提はMをVに依存させないこと。
Mとバインディングする処理(または>>385)をV内に書くのはその点で別に問題ないだろ?
でもMVPの基本はVにインターフェイスを被せて>>387のようにPがVにデータを送る。
390 :デフォルトの名無しさん2011/11/04(金) 19:48:29.90
>>389
MVPにしてしまうとMVVMに移行しにくくないですか?

MVVMはVがVMを参照して更新するわけで
MVPの場合はVがMを参照しますよね?

MVVMにしようとした場合Mのアクセサ部分を書き換えることになると思うんだけど
391 :デフォルトの名無しさん2011/11/04(金) 21:19:06.79
>>390
プレゼンターと自分が言ったんだろ
MVVMというかプレゼンテーションモデル使いたければ使えばいいけど
バインディングが貧弱だと面倒だしビューのコードも増えるぞ
WPFでMVPやる分には何の不都合もない
386 :デフォルトの名無しさん2011/11/04(金) 18:33:34.11
MVPだったらビューにモデル渡してビューと直接バインドすればおk
388 :デフォルトの名無しさん2011/11/04(金) 18:46:52.60
>>386
それやってしまうと、WinFormに依存することになりませんか?
いずれWPFに移行することになると思うので
ビューを意識した作りにはしたくないんだけど

WPFにもWinFormsでも同じように使えるモデルクラスを作りたいんです
392 :デフォルトの名無しさん2011/11/04(金) 21:21:32.64
なんか妙なこと言ってるよね
自分で何をしようとしてるかわかってるんか
393 :デフォルトの名無しさん2011/11/04(金) 21:30:28.60
プレゼンテーションモデルじゃなくて
アプリケーションモデルがしたいんです
だからプレゼンターとモデルをバインドするって言っているんですけど・・・
395 :デフォルトの名無しさん2011/11/04(金) 21:34:42.79
プレゼンテーションモデルとアプリケーションモデルは同じものだけど
396 :デフォルトの名無しさん2011/11/04(金) 21:37:41.02
最初からVとMをバインドさせない
PとMをバインドしたいからどうすればって聞いているのに
全く分かってない人だなー
398 :デフォルトの名無しさん2011/11/04(金) 21:40:00.19
MとかVとかPとか言ってるけどさ
それぞれの役割ちょっと書いてみてよ

たぶん認識が違うから、英語と日本語みたいに伝わらないよ
399 :デフォルトの名無しさん2011/11/04(金) 21:43:36.40
質問者の話にはVなんか出てきてないんだぜそもそも
勝手にMVPがどうとか言ってるけどさ

MPっていう新しいプログラミング手法だよ
魔法でも唱えるんじゃねえの
400 :デフォルトの名無しさん2011/11/04(金) 21:48:18.04
Mはデータ管理
VはイベントをPに通知する、Pのプロパティを参照して更新
PはイベントにしたがってどのM を使うか決める
Mのデータの更新を参照してVに公開する

こんな感じのを作りたい

2ちゃんブラウザだとして、スレが選択されると
Vが選択されたスレidexなどをPに送る
Pは選択されたスレのレスをMから取得してVに向けて公開する感じ
401 :デフォルトの名無しさん2011/11/04(金) 21:49:45.84
それは紛れもなくMVVMだと思いますよ
402 :デフォルトの名無しさん2011/11/04(金) 21:51:15.13
MとかVとかPとか言わないで初めからFormsでMVVM風に書けばええんとちゃうの
405 :デフォルトの名無しさん2011/11/04(金) 21:56:31.93
>>401
いづれWPFに移行するのでそれに近い形で作りたいんです
MとVをくっつけちゃうと、絶対書き直さないといけないですからね

>>402
そうしたいので、Mとプレゼンテーションのバインドの仕方を聞いているんですけど
どうすればMのデータと同期が取れるんでしょうか?
403 :デフォルトの名無しさん2011/11/04(金) 21:52:19.04
一般にはアプリケーションモデルまたはプレゼンテーションモデル、
WPF使えばMVVM
404 :デフォルトの名無しさん2011/11/04(金) 21:54:14.47
一般にはって言うけどMVPやらMVCやらMVVMやらそれぞれ微妙に繋がりは違うよ
どれを指してるかは「プレゼンテーションモデル」の一言では特定できん
406 :デフォルトの名無しさん2011/11/04(金) 22:00:27.81
VMのプロパティのゲッタでMのプロパティ返せばよくね
変更通知の関係などでそれでは不満だというならどのみちバインディングじゃ無理だろ
407 :デフォルトの名無しさん2011/11/04(金) 22:06:07.27
V→VM→Mと辿る時は普通に辿ればいいし
M→VM→Vと通知が上ってくる時はINotifyPropertyChangedがチェーンしてるだけ(依存関係プロパティみたいのもあるけど)
408 :デフォルトの名無しさん2011/11/04(金) 22:09:45.91
すみません、物凄くくだらない質問なんですが、
Treeviewで、何も選択されてない状態にしたいのですが、どうすればいいでしょうか
treeView1.SelectedNode = null;
ではダメですか?
410 :デフォルトの名無しさん2011/11/04(金) 22:10:30.27
>>408
treeView1.SelectIndex=0
413 :デフォルトの名無しさん2011/11/04(金) 22:20:26.26
>>410
それはComboBox.SelectedIndex プロパティじゃないですか?
TreeViewには無いみたいなんです・・・
409 :デフォルトの名無しさん2011/11/04(金) 22:09:55.31
INotifyPropertyChangedを使った場合
VMの値は自動で変わりますか?
WPFのVに対してINotifyPropertyChangedを使うと自動で同期してくれるのはわかるけど
通常のクラス同士でそれをする方法がわからない
411 :デフォルトの名無しさん2011/11/04(金) 22:15:26.96
>>409
>VMの値は自動で変わりますか?

変わらないよ
INotifyPropertyChangedは変更のあったプロパティの名前を通知する
VMはそれを見てMのプロパティから値を取得するか、Vに取り次ぐだけ

同期は自分でやるんだよ
412 :デフォルトの名無しさん2011/11/04(金) 22:16:37.39
つかWPFに移行したってVMとMを連結させる仕組みなんかないよ
何か変なものを読んだんじゃないか
414 :デフォルトの名無しさん2011/11/04(金) 22:26:54.94
てことは、コントロールごとにVM作るほうが簡単ってことか・・・
それって結局MVPのようにMを参照してVを更新するのと同じだよね?

あーどうやったらわかりやすくコードが書けるんだ・・・

イメージとしてはVと連携するのは1つのクラスだけにした方が
わかりやすそうなのに、それだと多数あるMと同期させる処理が大変
MVVMって本当に楽になるの?VとVMの関係は確かに楽だけど
それを実現させるための方法が難しすぎる

WPFのサンプルみてもVMをDataContextに渡してはいるけど
XamlでMをインスタンス化して利用してたりもするし
415 :デフォルトの名無しさん2011/11/04(金) 22:36:46.06
だからね、同期するって発想をやめてね、VMの上にMをズラズラ並べてって
VとMをバインドしちまうんだよほとんどは
加工が必要な奴だけVMを介する
416 :デフォルトの名無しさん2011/11/04(金) 22:44:24.94
そもそもVMはなぜ存在するかって言ったら、Mが増殖しすぎてわけわかめだからさ
そこの緩衝にするために、だいたいVに対応するMとして置いてるわけ
Mを選択するとかそんな堅苦しいこと言ってないんだよ
417 :デフォルトの名無しさん2011/11/04(金) 23:03:48.14
class VM
{
public M1{get;set;]
public M2{get;set;]
public M3{get;set;]

public 本文
{
get
{
var res= ... //m4.DatListを取得して加工
return res;
}
}
}

つまりこんな感じでもいいってこと?
418 :デフォルトの名無しさん2011/11/04(金) 23:18:47.96
Microsoft Visual Studio 2010 Express for Window Phoneを使ってます
Butonを配置してタッチするたびに数値が増えていくプログラムを作りたいです
お願いします
419 :デフォルトの名無しさん2011/11/04(金) 23:19:58.95
>>418
がんばってください
422 :デフォルトの名無しさん2011/11/04(金) 23:38:20.15
>>418
そのくらいだとプログラムというよりXAMLだけで実現できるレベルかも

で、久々にやろうとしたらエミュレーター上でサンプルプログラムが表示されねーでやんのw
エミュレーターも起動してWPのロゴもでてるんだけどなw
421 :デフォルトの名無しさん2011/11/04(金) 23:30:15.00
そうですか。全くのド素人なので下らない質問すいませんでした
424 :デフォルトの名無しさん2011/11/04(金) 23:52:23.94
3分もかかるの
425 :デフォルトの名無しさん2011/11/05(土) 00:02:16.56
>>424
どこまで放置すればいいのかわからないので起動途中で終了しては再起動と繰り返してたからねw
426 :デフォルトの名無しさん2011/11/05(土) 00:07:56.74
XAMLだけで完結しなかった・・・・
MainPage.xaml
http://ideone.com/4vxrO

MainPage.xaml.cs
http://ideone.com/xlONM
427 :デフォルトの名無しさん2011/11/05(土) 00:14:59.32
>>426
おお!感謝します!ありがとうございました!
428 :デフォルトの名無しさん2011/11/05(土) 11:11:41.63
html内に記述されているxmlだけを抜き出す方法ってないでしょうか?

ブラウザ上で表示するとxmlのデータが表示されるんですが、
実際にはhtmlで書かれていて、データがXmlDocumentクラスでうまく取り出せません

WebBrowserクラスを使ってhtmlを取得

htmlから何かを使ってxmlだけを取り出す

XmlDocumentで処理

みたいな感じになると思うんですが
429 :デフォルトの名無しさん2011/11/05(土) 11:19:16.51
>>428
htmlに埋もれてるxml部分のタグとか認識に使えそうな情報は無いの?
432 :デフォルトの名無しさん2011/11/05(土) 11:52:10.66
少なくとも>>428にはパターンが抽出できないんでしょ?
その辺は人間性能に依存してしまうわ
434 :デフォルトの名無しさん2011/11/05(土) 11:56:41.49
>>432
サイト構造なんてそうそう変えないだろうしWebBrowserが解析して
xml(ぽい?)データとして表示してる以上は何かしらのマーカーとして使える
タグはあるはずだよ

htmlを晒してくれない(晒せない?)のでxmlデータ付近のタグを聞いたんだけどね・・・
430 :デフォルトの名無しさん2011/11/05(土) 11:44:55.17
XMLに見えるだけでXMLじゃねえからな
難しさの違いはあれど画像を文字にしたいっていうのと話は変わらない
435 :デフォルトの名無しさん2011/11/05(土) 12:12:11.01
みなさんありがとうございます。

htmlをアップしてみました。
初めて使ったのでうまくできてるかどうか。。
http://ideone.com/6hdiq

html内でどの部分がxmlに当たるのかは、見ればわかるので、
htmlから特定の文字列部分だけを抜き出す処理を作れば、欲しい情報は得られます。
ただ、ページがたくさんあって、それぞれ情報が異なるので
ページごとの処理を1つずつ実装するのはちょっとキツイです
436 :デフォルトの名無しさん2011/11/05(土) 12:14:53.16
正規表現でxml部分だけ抽出したら良いんじゃないの?
437 :デフォルトの名無しさん2011/11/05(土) 12:20:56.67
レンダリング後がXMLか
これはむじ
438 :デフォルトの名無しさん2011/11/05(土) 12:21:22.38
bodyの全部だなw
439 :デフォルトの名無しさん2011/11/05(土) 12:21:51.25
これだったら単にhtmlのDOMに読み込んで
テキストだけ取り出して連結すればいいだけじゃね
440 :デフォルトの名無しさん2011/11/05(土) 12:22:08.86
いやまてよ
タグを全部とっぱらえばXMLになるか
441 :4282011/11/05(土) 12:24:22.99
ブラウザに表示されているデータだけを抜き出せばそのままxmlになると思うんですが、
可能でしょうか?
442 :デフォルトの名無しさん2011/11/05(土) 12:24:36.01
ちょっと甘く見てたわ
俺はやめとくw
443 :デフォルトの名無しさん2011/11/05(土) 12:25:32.08
表示された後のデータを抜き出すという考えは捨てるべき
445 :4282011/11/05(土) 12:26:32.27
>>443
htmlに依存しないことを考えればベストかなと思ったんですが。。
455 :デフォルトの名無しさん2011/11/05(土) 15:47:20.17
>>436
>>437
>>438
>>440
>>442
>>443
無能。センスなし。
456 :デフォルトの名無しさん2011/11/05(土) 15:51:10.64
>>455
余計なこと書かなくていい

あーまじでID欲しい
459 :デフォルトの名無しさん2011/11/05(土) 16:33:16.11
>>455
職場でお前がいつもそう言われてるのは想像できる
460 :デフォルトの名無しさん2011/11/05(土) 17:14:06.07
>>459は推測


>>455は事実
466 :デフォルトの名無しさん2011/11/05(土) 17:43:06.48
>>>459は推測

いやいや。匿名掲示板での人間の社会行動学による分析だよ。
そして>>460の反応から「図星」ということが分かる。
470 :デフォルトの名無しさん2011/11/05(土) 17:53:02.95
>>466
では根拠を論理的に述べてください
473 :デフォルトの名無しさん2011/11/05(土) 17:59:04.38
>>470
お、今度は攻撃性に転じました。
しかしオウム返し型なので、プライドは高いものの幼児性が抜けない人間と分析します。
477 :デフォルトの名無しさん2011/11/05(土) 18:12:08.89
>>473
根拠をどうぞ
446 :デフォルトの名無しさん2011/11/05(土) 12:27:23.30
WebBrowserのDOMで子要素を持たないタグのインナーテキストを連結するだけでいけると思う
447 :デフォルトの名無しさん2011/11/05(土) 12:27:47.92
だな。まずはそれだな。
448 :4282011/11/05(土) 12:29:56.80
>>446
>>447
ありがとうございます!!
試してみます!!
449 :デフォルトの名無しさん2011/11/05(土) 12:33:46.73
タグ削除するやつ。コメントには対応していないが・・・。
これじゃだめ?
http://ideone.com/Qkp0W
450 :デフォルトの名無しさん2011/11/05(土) 12:39:46.76
これ誰得なんだ
プログラムから再利用しづらいXMLって意味ないよな
451 :デフォルトの名無しさん2011/11/05(土) 12:39:49.92
取れるコードできたが晒しサイトが応答しねえww
しばしまて
452 :デフォルトの名無しさん2011/11/05(土) 12:42:32.21
こっちにあげた
http://pastebin.com/tvpiYTbm
453 :4282011/11/05(土) 13:05:44.05
>>449
xmlのタグまで抜かれてしまったのでちょっと使えないです。。

>>452
Document.Body.OuterTextから無事にxmlだけ抜き出せました。

みなさんありがとうございました!
457 :デフォルトの名無しさん2011/11/05(土) 15:56:31.18
テンプレート自分で作るの難しいと思っていたけど結構簡単に弄れるんだね
毎回同じコード書いてた作業が省けて便利
461 :デフォルトの名無しさん2011/11/05(土) 17:15:59.20
確かに安価だけ付けて「無能。センスなし。」とだけ書いてあるレスから
職場でどうこうなんて導けるわけないね

空気が読めない程度にしておこう
462 :デフォルトの名無しさん2011/11/05(土) 17:27:47.53
>なんでID表示が付いてない

くだらない議論しかしないのに要らないだろ
流せってことだよ
463 :デフォルトの名無しさん2011/11/05(土) 17:31:48.37
IDが付くと困るのは自演して遊んでいる人くらいだよな
464 :デフォルトの名無しさん2011/11/05(土) 17:34:34.48
>>463
それを排除したいんだよな
2chの辺境のスレであっても気持ちよくやり取りしたいんだが
自演する人はその辺境のスレに居ついて遊んでるからな
469 :デフォルトの名無しさん2011/11/05(土) 17:52:09.34
>>464
じゃあ質問に誠実に答えろよ
初心者バカにするからこうなるんだろ
お前らがそういう態度なら俺はやめない
474 :デフォルトの名無しさん2011/11/05(土) 18:05:13.88
>>469
いくらお前が馬鹿にされたからって粘着するの止めろよなw
467 :デフォルトの名無しさん2011/11/05(土) 17:47:34.02
以下社会行動学スレッドになります

C#perはしたらばでもどこでも邪魔が入らないところへ退出ください
468 :デフォルトの名無しさん2011/11/05(土) 17:50:46.61
>>467
逃避行動ですな
480 :デフォルトの名無しさん2011/11/05(土) 19:56:23.87
int も double も string も 一つの関数で 中身をプリントしたいんですが
少ない記述でパッと出来ませんかね? 下のようなことをやりたいです.
下はエラー.キャストしないと型名しか出ませんでした

static void p(Object o) { Console.Write((o.GetType) o); }
481 :デフォルトの名無しさん2011/11/05(土) 20:00:37.01
>>480
プリントの段階でstringになるんだからオーバーロードすればいいだけちゃうの?

static void p(int o) { p(o.ToString(); }
static void p(double o) { p(o.ToString(); }
static void p(string o) { Console.Write(o); }
482 :デフォルトの名無しさん2011/11/05(土) 20:03:08.03
>>481
それ全部一個の関数でやりたいんですが
generic を忘れてたんでやってみます
ありがとうございました
484 :デフォルトの名無しさん2011/11/05(土) 20:16:06.59
static void p(object o) { p(o.ToString(); }
じゃダメなんだっけ? 引数の型を限定できないけど。
486 :デフォルトの名無しさん2011/11/05(土) 20:28:22.19
>>484
static void p(object o) { Console.Write(o.ToString() ) ; }

で出来ましたありがとうございました
489 :デフォルトの名無しさん2011/11/05(土) 20:48:44.02
>>486
そんなんで良かったのかよ。w まー、なにより。
490 :デフォルトの名無しさん2011/11/05(土) 21:46:16.18
>>489
初心者の質問は大歓迎なんだが、初心者の回答は勘弁してくれませんかね
491 :デフォルトの名無しさん2011/11/05(土) 21:59:08.28
リフレクションもしらないバカばっか
492 :デフォルトの名無しさん2011/11/05(土) 22:00:41.39
>>491
リフレクションもしらないバカばっか・・・・x
リフレクションという方法もあるよ・・・○

質問に対するサンプルコードを添えると尚良

この辺の反応はリアルの人間の付き合いでも現れる要素だよw
494 :デフォルトの名無しさん2011/11/05(土) 22:28:35.87
単純な読み書きしかしないプロパティ使いたい場合

自動実装するプロパティ
http://msdn.microsoft.com/ja-jp/library/bb384054.aspx
496 :デフォルトの名無しさん2011/11/05(土) 22:41:05.42
>>494,495
なるほど、変数みたいな使い方をするのか
うーん、それでもコードが少なくなると以外のメリットが思い浮かばない・・・
504 :デフォルトの名無しさん2011/11/05(土) 22:59:46.41
>>496
プロパティだからアクセスレベルを設定できる
public int Number { get; private set; }
とかね

まあ自動実装自体はバッキングフィールドとかget、set
いちいち宣言、実装するのがめんどくさいからできたようなもんで
あまり多くを期待してもしょうがない
531 :4962011/11/06(日) 00:14:39.78
>>504
ああアクセスレベルを設定できるってことを忘れてた
すごいメリットを感じてきた。答えてくれた人ありがとう
495 :デフォルトの名無しさん2011/11/05(土) 22:29:47.82
オーバーライドでそれ使うのはEFの1対多結合ぐらいだと思う
498 :デフォルトの名無しさん2011/11/05(土) 22:45:32.56
WPFはプロパティじゃないとバインドできない
(なんでかは知らない)
500 :デフォルトの名無しさん2011/11/05(土) 22:54:03.70
>>498
それはバインドする場合プロパティじゃないとできないからだろw
508 :デフォルトの名無しさん2011/11/05(土) 23:16:59.07
for (int i = 0; i < 8;i++)
{
 CollisionRectangles[i].X = (int)Position2D.X + tempDrawRectangles[i].X;
}


変数ではないため、'System.Collections.Generic.List<Microsoft.Xna.Framework.Rectangle>.this[int]' の戻り値を変更できません。
どうすりゃ変更できるの?
510 :デフォルトの名無しさん2011/11/05(土) 23:19:05.92
>>508に追記

protected List<Rectangle> CollisionRectangles = new List<Rectangle>();

で宣言と初期化してます
511 :デフォルトの名無しさん2011/11/05(土) 23:20:44.46
>>508
一時変数に代入してからプロパティ変更して書き戻す
値型はそれ自体一つの値なのでまとめて書き換える
515 :デフォルトの名無しさん2011/11/05(土) 23:23:54.20
>>508
CollisionRectanglesだけじゃなく残りの二つも情報だせよ
509 :デフォルトの名無しさん2011/11/05(土) 23:17:16.95
別にそれなくてもバインドはできる
理由はプロパティじゃないとバインドできないからなんだよ
512 :デフォルトの名無しさん2011/11/05(土) 23:22:10.92
「変数ではないため」ってこのエラー表現も大概にして欲しい
513 :デフォルトの名無しさん2011/11/05(土) 23:22:37.26
CollisionRectangles.ToArray()[i].X

に変えたらできました。
javaとごっちゃになってるわ勉強してくる、ども
514 :デフォルトの名無しさん2011/11/05(土) 23:23:52.89
>>513
こんな気持ち悪い書き方やめてくれ
517 :デフォルトの名無しさん2011/11/05(土) 23:25:17.95
>>513
吹いた
Javaでもうまくいかないよそれ
516 :デフォルトの名無しさん2011/11/05(土) 23:24:01.99
つーかC#のArrayListがよく分からん
520 :デフォルトの名無しさん2011/11/05(土) 23:27:50.71
>>516
どぼんとか古いサイトのは見ない方がいいぞ

せめて2010年以降の記事やブログみなさい
524 :デフォルトの名無しさん2011/11/05(土) 23:30:39.76
>>516
古い.net使う場合はいいけど.net2.0以降はList<>使え

というか構造体は基本的に作り直しじゃなかったっけ?

何かしら値が入っててXだけ入れ替える場合

CollisionRectangles[i] = new Rectangle((int)Position2D.X + tempDrawRectangles[i].X,
CollisionRectangles[i].Y, CollisionRectangles[i].Width, CollisionRectangles[i].Height);
//CollisionRectangles[i].X = (int)Position2D.X + tempDrawRectangles[i].X;
521 :デフォルトの名無しさん2011/11/05(土) 23:28:50.66
ああすまんJavaなら参照型だから大丈夫だな
こっちがごっちゃになってた
526 :デフォルトの名無しさん2011/11/05(土) 23:32:02.32
つかJavaでもRectangleみたいなのはよく受け渡しのときに防御的コピーすることあるだろ
528 :デフォルトの名無しさん2011/11/05(土) 23:32:15.42
もうXNA使えよ
530 :デフォルトの名無しさん2011/11/05(土) 23:37:06.95
>>528
もう使ってるw
エラーコードミロ
532 :デフォルトの名無しさん2011/11/06(日) 00:15:44.05
だからといってプロパティじゃないとバインドできない理由にはならないけどな
535 :デフォルトの名無しさん2011/11/06(日) 02:33:23.98

348 :デフォルトの名無しさん:2011/10/26(水) 21:18:01.54
特に理由はないんですが、GCJの過去問をDで解いてみようと思いました。
今日初めてD言語に触りました。
TopCoderとかのプログラミングコンテストでC++を使う場合は、
#defineを使ってforループの凡ミスを防ぐためにこんなことをします。

#define rep(i, n) for(int i=0; i<n; i++)

こうすることで以下のようなバグをなくすことができます。
for(int i=0; i<n; i++) {
  for(int j=0; j<n; i++) { // i++がバグ
    // do something
  }
}

代わりにこう書けるので、これに関してはバグがなくなります。
rep(i, n) {
  rep(j, n) {
    // do something
  }
}

D言語でも同じようなことができますか?
できないなら諦めますが、できるならその方法をご教示ください。



C#だとどうでしょうか?
537 :デフォルトの名無しさん2011/11/06(日) 03:49:34.08
>>535
from i in Enumerable.Range(0, n)
from j in Enumerable.Range(0, n)
536 :デフォルトの名無しさん2011/11/06(日) 02:41:51.36
C#だとそもそもループカウンター使わないからなぁ、めったに。
ほとんどの場合、foreachで事足りる。
課題で出るような「九九表作れ」ならともかく、実用上だとほんとforeachしか使わない。
544 :デフォルトの名無しさん2011/11/06(日) 07:13:32.71
htmlのtableのRowspanとColspanを正規化した時
ランダムアクセスが必要だったから二次元配列でi,j使ったな
力業でやったけど何か良い手有るのかな?
545 :デフォルトの名無しさん2011/11/06(日) 08:15:43.29
>>544
知らんがな

はい、次。
546 :デフォルトの名無しさん2011/11/06(日) 10:27:05.42
マジか
俺for使いまくってたよ
中でカウンタが必要な時以外はRangeとforeach使う方がいいのか?
548 :デフォルトの名無しさん2011/11/06(日) 10:53:28.18
パネルの上にpictureboxを載せていて、パネルの範囲内にマウスが入っているときだけ、pictureboxの上にボタンを出現させたいと思っています。パネルが横200px、縦100px、pictureboxが縦横50pxで、locationは(0,0)(左上隅)です。
パネルの MouseEnter, MouseLeaveイベントを使ったのですが、pictureboxに入ったときにMouseLeaveイベントが呼ばれてしまって意図した動作になりませんでした。
パネルのMouseLeaveが呼ばれたときにpicturebox内にマウスポインタがあるかどうかチェックする処理を加えてみましたが、pictueboxから直接パネルの範囲の外に出た時、パネルのMouseLeaveが呼ばれずボタンが消えませんでした。

パネルの中のコントロールがこれから増える予定のため、中のコントロール全てのMouseLeaveイベントをチェックするのは避けたいのですが、スマートな方法は無いものでしょうか?
553 :デフォルトの名無しさん2011/11/06(日) 11:44:21.13
>>548
Form側のMouseMoveでポインタがパネル上にあるか調べたら
555 :デフォルトの名無しさん2011/11/06(日) 12:05:53.43
>>553
やってみましたが、Panelに乗った時点で、MouseMoveイベントが来なくなるように見えるのですが。
559 :デフォルトの名無しさん2011/11/06(日) 16:10:03.64
>>555
ButtonRenderer クラスを使って、PictureBox上にボタンを書くというのはどうかな?
560 :デフォルトの名無しさん2011/11/06(日) 16:17:41.87
>>555
WPFやSLのようにルーティングイベントだっけ?
全部のイベントを親で拾えるやつ
ああいうのがあればいいよね
549 :デフォルトの名無しさん2011/11/06(日) 11:00:32.09
最近気づいたけど、重複無しの組み合わせを作るのにも

int i = 1;
foreach (var item in list.Take(list.Count()-1))
{
foreach (var item2 in list.Skip(i))
{
tmpList.Add(item + "\t" + item2);
}
i++;
}

これでいいのだよな。LINQビックリだよ。
まぁ、仕組み的にリストが巨大だとやめた方がいいやり方ですが。
554 :デフォルトの名無しさん2011/11/06(日) 11:58:46.68
>>549
の完成版出来たら貼ってくれ
557 :5492011/11/06(日) 15:31:51.22
>>554
http://ideone.com/4rJys
ジェネリック化して、yieldを使ってみた。
551 :デフォルトの名無しさん2011/11/06(日) 11:36:44.98
おっと勘違い
でもIListに全部入れてたらIEnumerableの利点がなくなるような
556 :デフォルトの名無しさん2011/11/06(日) 12:18:37.10
パネルのControlsを列挙して全部にイベント仕掛けるとか
それなら増えても大丈夫だし
561 :デフォルトの名無しさん2011/11/06(日) 16:21:35.09
あれはあれで拾いたい時に下の(上の)コントロールが拾ってHandledしちゃってて
「なんでこねえんだよ!フンガー!」
って思う時がある
特にListBoxなんかが勝手にHandledする場合がムカつく
562 :デフォルトの名無しさん2011/11/06(日) 16:23:26.50
>>561
まあ理想系はないよね
出来る中でUIを工夫しろとしかいいようがないもの事実w

なんでwinformでそんな面倒なUIにしようとしてるのかという
背景も気になる
612 :5552011/11/07(月) 09:06:18.47
遅くなってすいません。

>>556
やってみたのですが、中のコントロール→パネル→パネルの外 とマウスが速く動くと、時折ボタンが残ってしまいます。
MouseLeaveイベントが起きた時、マウスポインタの位置がPanelの中だったらボタンを残すような処理にしたのですが、
どうも、中のコントロールのMouseLeave時はパネルの中にマウスポインタがあり、パネルのMouseEnterが発生するタイミングの前に外に出てしまうと起きるようです。

>>559
イベントの取得と言う意味ではあまり変わらないような・・・。

>>560
はい。デメリットもあるのでしょうけれど、今回は切実に欲しいです。

>>562
twitterの様に、特定の部分にマウスがある時だけ、その下にある投稿に対するメニューを出そうと思いまして。
617 :デフォルトの名無しさん2011/11/07(月) 12:00:10.97
>>612
ウィンドウプロシージャのオーバーライドは?
621 :デフォルトの名無しさん2011/11/07(月) 12:21:16.21
>>612
ButtonRendererってのは、ボタンのイメージを描画するクラスなんですよ
だからマウスが乗った時だけPictureBoxにボタンを書くという技が使える
書いただけだから当然PictureBoxとして機能します

ここに使い方書いて有るから良かったら試してみてね
http://dobon.net/vb/dotnet/graphics/drawvisualcontrol.html
622 :デフォルトの名無しさん2011/11/07(月) 12:34:22.59
>>612,621
描く方はいいとして消す方に悩んでいるんでしょう?
マウスが乗ってなくなったタイミングのいいイベントがないからね。
私がやった方法では、タイマーでマウス状態を監視して、領域内なら描画、外なら消去
ってやったな。
この手法のとき、普通はタイマーで内外が変化したのを検出して再描画すると負荷が低くていいけど
乗せてるもの(この場合はPictureBoxの絵)が頻繁に更新されるならその更新タイミングで描画更新するといい。
623 :デフォルトの名無しさん2011/11/07(月) 12:51:06.34
>>622
いや、ButtonRendererはボタンクラスじゃなくて、ボタンのイメージを描画するだけのクラスです
使い方はPaintイベントや、カスタムコントロール化してOnPaintで状態見ながら自前描画する
勿論ボタンじゃないから機能は自前で実装する必要はあるけど
通常時はPicture、マウスを載せたらボタンが出現するカスタムコントロールが簡単に実現できますよ
628 :デフォルトの名無しさん2011/11/07(月) 14:25:16.55
>>617
メッセージの発生タイミングが問題なので、プロシージャをオーバーライドしても解決し
ないと考えたのですが、理解が間違ってますでしょうか?

>>618
MDIなんです・・・。

>>621 >>623
やはり、パネルから抜けたかどうかの判定には関係ないと思うのですが。
(pictureboxにマウスポインタが来た時だけボタンを表示する、なら解決すると思います
が、pictureboxの親コントロールであるpanelにマウスポインタが来た時にボタンを表示
する、なので)

>>622
その方法が一番効率が良いでしょうか。MouseEnterの方は問題が無いので、MouseEnterの
タイミングでタイマーを走らせて、出たら止める、という感じですよね。
564 :デフォルトの名無しさん2011/11/06(日) 17:02:59.24
引数 1: 'System.Collections.Generic.List<IFugaList>' から 'System.Collections.Generic.List<System.Collections.Generic.IEnumerable<IFuga>>' に変換できません

ってエラー吐かれるんだけど

public interface IFugaList : IEnumerable<IFuga>
{
}

IFugaListにIEnumerable<IFuga>を継承させても駄目なのはなんで?
ダウンキャストできるんじゃ
566 :デフォルトの名無しさん2011/11/06(日) 17:21:58.76
>>564
そりゃ、リストの継承ではないからだよ。
あくまで中身でしかない。
.LINQの OfTypeを使ってもダメ?
565 :デフォルトの名無しさん2011/11/06(日) 17:07:58.25
IEnumerator<T> enums = list.GetEnumerator();
while(enums.MoveNext()){
T value = enums.Current;

// foreachブロック内
}

これを参照渡しと呼ぶかどうかは知らん
568 :デフォルトの名無しさん2011/11/06(日) 18:09:34.90
IList<T>は読み取り書き込み両方可能だから共変は無理
569 :デフォルトの名無しさん2011/11/06(日) 18:13:38.13
.net2.0で開発しているのでジェネリックで無理やり解決しました
ありがとうございました
570 :デフォルトの名無しさん2011/11/06(日) 18:14:27.93
アプリ毎にセーブロジーック作るのが面倒なので
どんな型でもxmlでシリアライズできるようにしたいんだが
GetTypeで型取得してもシリアライズしてくれないんだな(動的型指定だとだめなのか?)
584 :デフォルトの名無しさん2011/11/06(日) 19:18:29.26
>>570
System.Xaml.XamlServices.Save(object obj)
これでええじゃん。XMLより悩みは減るよ。
Loadを使えば、呼び出してそのままオブジェクトで使えるよ。
585 :デフォルトの名無しさん2011/11/06(日) 19:21:01.12
>>584
これで試してみるty
571 :デフォルトの名無しさん2011/11/06(日) 18:20:58.71
意味がよくわかりません
XmlSerializerじゃダメなのか
574 :デフォルトの名無しさん2011/11/06(日) 18:40:45.23
>>571
それで型指定する部分があるじゃないですか

そこで直接型名を"Book"とか指定すればいけるけど
セーブメソッドの引数にobjで渡して
GetType(obj)ってやってもだめなんだよ

アプリによってセーブする内容が違うから当然型も違うわけで
どんな型でも汎用的に使えるセーブクラスを作りたいの
573 :デフォルトの名無しさん2011/11/06(日) 18:30:09.24
シリアライズ可能な条件ってのがあるから
どんな型でもってのがまず

シリアライザにもよるけど
575 :デフォルトの名無しさん2011/11/06(日) 18:47:06.28
objの型おかしいんじゃないの
出力して確認くらいはしてるんだろうね?

メソッドを

Save <T>(T obj){
Xmlserializer(typeof(T))
}

にする
580 :デフォルトの名無しさん2011/11/06(日) 18:54:11.35
>>575
普通アプリが管理するデータって1つのリストにまとまらないじゃないですか

Viewの状態を保存するクラスと
データの保存をするクラス

savedata.ViewData.DataGridColumnsWidthList.<>
savedata.Data.List<>

このような構造のセーブデータを保存したいんですよ
でもdけいない
578 :デフォルトの名無しさん2011/11/06(日) 18:52:23.38
例えばDictionaryクラスはSerializeサポートしていないから
メンバーにDictionaryが有るとそれだけで不可能
592 :デフォルトの名無しさん2011/11/06(日) 20:49:31.57
横からすまないが、それって実行環境によって取り出す順番が変わることがあるって事?
593 :デフォルトの名無しさん2011/11/06(日) 20:52:32.79
実行環境を見て列挙順を変えるようなMoveNextを書いてればその通りだよ
595 :デフォルトの名無しさん2011/11/07(月) 00:55:27.37
例えば配列やListは保証されているしDictionaryは保証されていない
foreachが、じゃなくて対象によって異なるわけで
596 :デフォルトの名無しさん2011/11/07(月) 01:01:50.23
だめだこいつらww
ネイティブの言語扱ったことないんだろうなwww
実行環境に依存って意味がさっぱりわかってないwwww
601 :デフォルトの名無しさん2011/11/07(月) 02:43:22.19
>>596
もともと「実装依存」の話してたところに「実行環境依存」の質問が割り込んだけど、
後者が無視されただけでしょ。

実装依存だから、まあ、実行環境依存な MoveNext も書こうと思えばかけるだろうけども。
603 :デフォルトの名無しさん2011/11/07(月) 02:57:26.00
>>601
そいつに話しかけんなバカ
599 :デフォルトの名無しさん2011/11/07(月) 02:28:46.80

以下のサイトを参考にしてDLLを遅延バインドした後に
staticでないクラスの静的メソッドを呼び出すことができました
http://dobon.net/vb/dotnet/programing/typeinvokemember.html

次の静的クラスの静的メソッドを呼び出すにはどうすればよいでしょうか?

namespace Hogehoge
{
 public static class Hage
  {
   public static void HelloWorld()
    {
     Console.WriteLine("Hello");
    }
  }
}
602 :5992011/11/07(月) 02:53:19.94
すみません自己解決しました
HageクラスをpublicにすればGetTypeで普通に呼び出せますね

http://ufcpp.net/study/csharp/sp4_dynamic.html

もう一つ質問なんですが
上のサイトのサンプルのようにdynamicを使って静的メソッドを呼び出すことは出来ますか?
静的メソッドもinvokeを使わずに呼び出したいのですけれど
604 :デフォルトの名無しさん2011/11/07(月) 07:13:36.77
みんな初めてさわった言語って何?
607 :デフォルトの名無しさん2011/11/07(月) 07:30:55.15
>>604
C
613 :デフォルトの名無しさん2011/11/07(月) 09:07:24.86
>>604
C
615 :デフォルトの名無しさん2011/11/07(月) 11:01:56.06
Cシャーパー御用達のプログラミング関係雑誌教えてくれ。
今は日経ソフトウエア1年くらい読んでるけど、そろそろネタが一周したようだから、
違うタイプ、切り口のに変えたいんだが、近所の本屋が立ち読み禁止で紐かけてるから、
中身がどんな感じかよく分からんので。どれも一緒かなぁ?
618 :デフォルトの名無しさん2011/11/07(月) 12:01:27.85
もうWPFかSilverlightにすればいいじゃん
619 :デフォルトの名無しさん2011/11/07(月) 12:07:19.40
silverlightって、WPFの機能限定版って考えでOK?
620 :デフォルトの名無しさん2011/11/07(月) 12:13:36.38
>>619
え!?
627 :デフォルトの名無しさん2011/11/07(月) 13:24:41.84
>>619
SilverlightはWPFじゃなくて.NET Frameworkそのものの機能限定版
だから動かすのに.NETいらない
624 :デフォルトの名無しさん2011/11/07(月) 13:01:40.61
そしてVisualStyle無効環境で涙目っと
仕方ないとはいえ場合分け面倒です
625 :デフォルトの名無しさん2011/11/07(月) 13:11:06.69
629 :デフォルトの名無しさん2011/11/07(月) 15:54:57.13
splitcontainerでパネルを上下に配置にしてパネル1にtextboxを配置させてパネル2にlistViewを配置しました
textboxもlistViewもdockをfullにしてあります
この状態ですとパネル1とパネル2の間に境界線が太く見えてしまいます
パネル1をtextboxのサイズに合わせたいのですがデザインで境界線をマウスで上にドラッグして言ってもこれ以上玄海なのか境界線が上に移動しません
見栄え欲したいのですが方法ございませんか?
630 :6292011/11/07(月) 15:57:03.48
プロパティのSplitterDistanceの数字に25が設定されていたので
textboxと同じサイズの19に変更を試みるも勝手に25に戻されてしまいます
633 :デフォルトの名無しさん2011/11/07(月) 15:59:34.28
>>630
ある程度上まで来たらPanel1を非表示化するとか?

その辺がいやならsplitcontainerを使わないでPanelを2つとsplitを使って
自前でやるとか
636 :デフォルトの名無しさん2011/11/07(月) 17:10:02.42
>>629 >>630
splitcontainerのPanel1MinSize が 25 になってるんじゃない?
639 :6292011/11/07(月) 17:53:06.75
>>631->>633
ありがとうございます
小生には自前でやるほどのスキルがなくsplitcontainerを使いたいですが自前でやることも視野に入れて検討したいと思います

>>636
ありがとうございます
Panel1MinSizeを19にしたらデザイン画面がフィットしました
ただ、F5を押してプログラムが起動すると境界線が太くなります
画像を添付しました
ttp://s1.gazo.cc/up/s1_5178.jpg
左がデザインで右がF5を押したときの起動したプログラムです
634 :デフォルトの名無しさん2011/11/07(月) 16:57:12.32
stackがないとき、stackが空ですと出てしまいます
例外処理InvalidOperationExceptionで取れるみたいなのですが例外処理を使わずにifで空かどうか判定する方法はございませんか?
635 :デフォルトの名無しさん2011/11/07(月) 17:04:50.41
>>634
こういうことかな??

    static void Main(string[] args)
        {
            Stack<int> St = new Stack<int>();
            Random Rnd = new Random(0);

            Console.WriteLine("Stack is {0} Count!", St.Count);
            St.Push(Rnd.Next());
            St.Push(Rnd.Next());
            Console.WriteLine("Stack is {0} Count!", St.Count);
            St.Pop();
            St.Pop();
            Console.WriteLine("Stack is {0} Count!", St.Count);

            return;
        }
637 :デフォルトの名無しさん2011/11/07(月) 17:20:49.64
>>635
すごいです!勉強になりました
638 :デフォルトの名無しさん2011/11/07(月) 17:24:49.97
>>637
ご希望に添えて何より!
640 :デフォルトの名無しさん2011/11/07(月) 17:59:20.92
ListViewコントロールなどのLabelのユーザー編集モードを
他の場所をクリックした時に終了させるにはどうしたらいいですか?
641 :デフォルトの名無しさん2011/11/07(月) 18:09:47.92
C#でのマルチスレッドを
効果的、効率的に使用するためのイディオムや注意点などを
それなりに体系的に学べる書籍かサイト(msdn以外)を教えてください。

javaでいう
「Java言語で学ぶデザインパターン入門マルチスレッド編」
のようなものを探しています。
646 :デフォルトの名無しさん2011/11/07(月) 18:49:45.03
>>641
私はここから勉強しました。
http://codezine.jp/article/detail/144?p=1
647 :デフォルトの名無しさん2011/11/07(月) 18:58:31.88
>>646
おぉ、まとまってて読みやすそうです、ありがとうございます!
665 :デフォルトの名無しさん2011/11/08(火) 03:56:04.93
>>647
C#4.0から追加された、Task周辺も読んでおいたほうがいいよ。
劇的に簡単になったから。
682 :デフォルトの名無しさん2011/11/08(火) 13:21:06.39
>>665
ありがとうございます。調べてみます!
643 :デフォルトの名無しさん2011/11/07(月) 18:25:38.01
存在しない場合なんて答えればいいの?
644 :デフォルトの名無しさん2011/11/07(月) 18:29:52.13
>>643
ないならないで別にかまわないんですが
648 :デフォルトの名無しさん2011/11/07(月) 19:06:02.15
FileStream なんて何のためにあるんだ?
文字コード選べないしまったく使えないんだが
こういう無駄な物削ってもっとスリムにしろよ
659 :デフォルトの名無しさん2011/11/07(月) 21:33:00.32
>>648
FileStreamとかMemoryStreamとか、ネットのストリームとかそういうものは全部Streamクラスの実装
そのストリームをStreamReaderとかで操作する
こうすることで、メモリにファイルを保存したり、ネットから直にファイルのように読んだりできる

これでStreamを受け取る関数を1つ作るとファイルとメモリの違いとかを気にせずに作れて、使う側も作る側もかなり便利
660 :デフォルトの名無しさん2011/11/07(月) 21:43:17.28
>>659
そういう使い方ができるのか
ファイル操作しかしてなかったから知らなかったわ
650 :デフォルトの名無しさん2011/11/07(月) 19:34:39.15
3.0と4.0で何が変わったんですか?
まとめサイトの場所とかでいいんで教えてください。
651 :デフォルトの名無しさん2011/11/07(月) 20:00:43.03
>>648
バイナリどうすんだよw

>>650
MSDNにまとまってんじゃね
652 :デフォルトの名無しさん2011/11/07(月) 20:29:19.90
>>650
また一つ、動的言語に近づいた。らしい。
立ち読みしかしてないんで詳しくない。

この本に、詳しく書いてるっポイ。
[完全版] C#実践ダイナミックプログラミング [大型本]
http://www.amazon.co.jp/dp/4774148334?tag=autumnmagazin-22&link_code=as3&creativeASIN=4774148334&creative=3999&camp=767
653 :デフォルトの名無しさん2011/11/07(月) 20:38:01.70
>>650
http://ufcpp.net/study/csharp/ap_ver4.html

ライブラリ的には(.NET 4)並列処理ライブラリがいろいろ増えてる。
655 :デフォルトの名無しさん2011/11/07(月) 20:52:40.39
4の非同期メソッドがすごすぎる・・・
662 :デフォルトの名無しさん2011/11/07(月) 22:59:25.76
>>655
asyncはC#5
658 :デフォルトの名無しさん2011/11/07(月) 21:28:54.05
>651
>652
>653
ありがとうございます。
661 :デフォルトの名無しさん2011/11/07(月) 22:45:19.81
>>658
いえいえ
663 :デフォルトの名無しさん2011/11/08(火) 01:59:18.77
初見ながら失礼いたします。
VisualStudio2010のC#を用いてwebアプリケーションを開発しています。

そこで現在webアプリケーションでアンドロイドのandroid_idやiphoneのUDIDなどの端末内の情報を取得したいのですが
AndroidSDKの時の
String deviceId = Settings.Secure.getString(this.getContentResolver(), Settings.System.ANDROID_ID);
のように端末情報をvisualstudio上で取得する方法はありませんでしょうか?

よろしくお願いします
664 :デフォルトの名無しさん2011/11/08(火) 03:12:25.64
時代に逆行してUDIDなんぞ使うな。あんなに簡単に偽装できるもんを認証に使うなんて頭おかしい。
678 :デフォルトの名無しさん2011/11/08(火) 10:50:07.35
>>664
大学の研究上必要なのでお聞きしました。
一般的に使われてないことくらいわかってます。
666 :デフォルトの名無しさん2011/11/08(火) 06:50:44.38
ど素人なのですが
変数を宣言するとき
varって使わない方がいいですか?
型名をきっちり記述したほうがいいのですか?
685 :デフォルトの名無しさん2011/11/08(火) 20:17:19.50
>>666
varでいいよ。
668 :デフォルトの名無しさん2011/11/08(火) 07:59:24.26
varって、ユーザーによってどんな値を入れてくるか予想できない、
みたいな状況以外、使う意味無いんじゃね?
「型を考えなくてもいい」みたいな消極的な使い方はただのモノグサだし、
そんなやつはプログラマ向いてないよ。
669 :デフォルトの名無しさん2011/11/08(火) 08:38:17.78
長ったらしいの打つのめんどくさい時に使うだけだろ。

予想できないとか、型を考えなくていいって、どういう時?
670 :デフォルトの名無しさん2011/11/08(火) 08:41:59.19
> ユーザーによってどんな値を入れてくるか予想できない
> 型を考えなくてもいい
どっちもvarを使えない状況に見えるのだけど
671 :デフォルトの名無しさん2011/11/08(火) 08:42:08.23
668はdynamicと勘違いしてねえか
予想できなきゃvarは使えないんだけど
672 :デフォルトの名無しさん2011/11/08(火) 09:03:33.88
VB6にはdynamicに近いVariantって型があったから
C#のvarがそれと同じものだと思い込んでいるのかも
674 :デフォルトの名無しさん2011/11/08(火) 10:09:00.69
htmlのフォーマットが決まってるので簡易的に解析してるんですがString.StartsWithの結果がおかしいのです
環境はWin7Home64+.Net4です
どう思いますか?

デバッグ時のイミディエイトウィンドウのコピペ
line[0]
60 '<'
line[1]
104 'h'
line[2]
51 '3'
line[3]
62 '>'
line[4]
12444 '゜'
line.StartsWith("<h3")
true
line.StartsWith("<h3>")
false
line.Insert(4," ").StartsWith("<h3>")
true
675 :デフォルトの名無しさん2011/11/08(火) 10:21:42.56
Combining- じゃなくてもそうなるんだ、へー

ぐらいの感想
第二引数でOridinal指定すると純粋にchar単位でやってくれるよ
676 :デフォルトの名無しさん2011/11/08(火) 10:36:10.17
>>675
ありがとうございます。どうやって回避できました。
677 :デフォルトの名無しさん2011/11/08(火) 10:37:42.74
「どうやって回避しようかと」まで書いて打ち直したら消し忘れました
680 :デフォルトの名無しさん2011/11/08(火) 12:05:34.15
答えてもいいが論文は連名にしてくれよ
ああでもFランの論文に名前書かれても恥ずかしいだけだな
やっぱいいや
681 :デフォルトの名無しさん2011/11/08(火) 12:54:45.45
JavaScriptみたいに変数名などコードを圧縮したら処理早くなるの?
684 :デフォルトの名無しさん2011/11/08(火) 17:44:56.94
>>681
ならない
683 :デフォルトの名無しさん2011/11/08(火) 13:36:05.00
mshtmlを使ってブラウザコントロールのドキュメントを触ってるんだが

text="<h1 class=\"color_red\">title</h1>";
IHTMLTxtRange range = doc.selection.createRange();
range.pasteHTML(text);

ってやると、<h1 class=color_red>title</h1>のようにclass=のクォーテーションが勝手に消えるけど、消えなくする方法ある?
686 :デフォルトの名無しさん2011/11/08(火) 20:22:53.32
listboxに登録したアイテムをフィルターする方法を伝授してください
例えば以下のアイテムがlistbox追加されているとします
apple
auth
brrow
cso

これにtextboxにaという文字列を与えると
apple
auth
のみ表示されるようにしたいのです

現時点ではtextboxに入力されるたびにアイテムの追加時にifでチェックしながらlistboxに追加していますが
アイテム項目が多くなるとこれはきついです
688 :デフォルトの名無しさん2011/11/08(火) 20:29:27.69
アルファベットの頭の文字分をリストとかで確保してそこに関連有るデータをソートして突っ込んでおくとか・・・。
697 :デフォルトの名無しさん2011/11/08(火) 22:32:28.27
>>688
↑こいつ最高にバカww
699 :デフォルトの名無しさん2011/11/08(火) 22:55:33.38
>>697
なんで?
691 :デフォルトの名無しさん2011/11/08(火) 22:04:37.91
ソート済みのリストを用意して自分で下限を二分探索するロジックを組むか、木を自作するか
693 :デフォルトの名無しさん2011/11/08(火) 22:18:35.49
下記みたいなコードで、ひとつひとつは大したことない(100Mbyteぐらい?)処理
ですが、ものすごくたくさんの処理を並列実行したく思います。メモリを食うメソッド
内部はすべてusingを使ってその内部で解放しているつもりですが、たぶんGCの都合
なのか、途中でOutOfMemoryが発生してしまいます。
なんかうまいやり方があるのでしょうか。教えてください。

var t = Task.Factory.StartNew(() =>
{
Parallel.For(progressBar1.Minimum, progressBar1.Maximum, i =>
{
(メモリを食うメソッド);
BeginInvoke((Action)(progressBar1.PerformStep));
});
}

private void メモリを食うメソッド()
{
using(Bitmap a=new Bitmap(filename))
{ いろいろ }
}
695 :デフォルトの名無しさん2011/11/08(火) 22:24:42.84
>>693
勘違いしてないか
Forに渡したブロックは自動的にコア数程度に調整されて並列実行されるから
その中でさらにBeginInvokeとかいらない
それだと一気に実行されてしまう
694 :デフォルトの名無しさん2011/11/08(火) 22:23:36.66
並列にメモリを食うんでしょ?
あきらめるか、メモリ増やせば?

マイクロソフト ワイヤレス ブルートラック マウス Arc Touch Mouse RVF-00006
マイクロソフト ワイヤレス ブルートラック マウス Arc Touch Mouse RVF-00006