5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

ふらっとC#,C♯,C#(初心者用) Part80

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ボタンを押すと
コードを鯖側にアップして専用のアドレスが発行されます

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だったのは別の行でした
お騒がせしました

9 :デフォルトの名無しさん:2011/10/24(月) 01:08:17.87
にどとくんな(よつばAA略

10 :デフォルトの名無しさん:2011/10/24(月) 01:08:23.33
前スレのぬるぽ
ッガ
お騒がせしました

11 :デフォルトの名無しさん:2011/10/24(月) 09:35:06.95
C#スレなんだし、ヌルぽ より ヌルり で行こうぜ

12 :デフォルトの名無しさん:2011/10/24(月) 10:57:54.42
継承ってめちゃくちゃ便利だぞ!
同じようなクラスを大量に作っていて
それらすべてを変更したい場合
基底クラスを変更するだけで済む!

13 :デフォルトの名無しさん:2011/10/24(月) 11:21:43.82
典型的なアンチパターンだな
継承せずに適切にクラス分けて使い回せ

14 :デフォルトの名無しさん:2011/10/24(月) 12:12:36.69
クラスはインスタンスさえ生成しなければリソースを喰う事はありませんよね?
クラス定義だけ大量にあって実際インスタンスを生成したり静的に参照することがあまり無いので少し不安に思うのですが

15 :デフォルトの名無しさん:2011/10/24(月) 12:21:44.71
>>14
メモリみればわかるじゃん
増えないよ

16 :デフォルトの名無しさん:2011/10/24(月) 12:22:21.77
メモリもリソースだろ
ファイルが大きけりゃ起動時に食うだろ

17 :デフォルトの名無しさん:2011/10/24(月) 12:25:04.01
使わなければコンパイル時の最適化で省かれるから増えないよ

18 :デフォルトの名無しさん:2011/10/24(月) 12:26:17.12
>>15-17
ありがとうございます

19 :デフォルトの名無しさん:2011/10/24(月) 12:27:48.54
クラスもメンバも勝手に省かれることはない
リフレクションで呼び出せるから

20 :デフォルトの名無しさん:2011/10/24(月) 12:28:25.98
>>17
リフレクションの時どうすんだよ

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)の方が自然かもしれない
やはり仕様と状況による

26 :デフォルトの名無しさん:2011/10/24(月) 15:22:33.23
>>24
>>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イベントがないみたいで・・・
何かいい方法あれば教えて下さい

30 :デフォルトの名無しさん:2011/10/24(月) 18:33:49.68
HtmlDocumentやElementにあるだろ

31 :デフォルトの名無しさん:2011/10/24(月) 18:35:50.83
tabcontrolで、タブ内のコントロールを複製してタブを増やしたいんですが、
この場合ってデザイナーを使って編集できないんでしょうか

32 :デフォルトの名無しさん:2011/10/24(月) 18:37:06.41
Navigatingでキャンセルのほうじゃないの?

33 :デフォルトの名無しさん:2011/10/24(月) 18:43:01.57
タブチュー

34 :デフォルトの名無しさん:2011/10/24(月) 18:43:51.07
WebBrowserにはないけどDocumentCompletedイベントもしくはnavigatedイベント後に
できるhtmlDocumentにはあるよ
http://cs2ch.blog123.fc2.com/blog-entry-68.html

35 :29:2011/10/24(月) 19:35:06.72
>>30
>>34
ありがとうございます。それで少し頑張ってみます





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

40 :デフォルトの名無しさん:2011/10/24(月) 20:26:15.12
ITypedListが付けたいとか、各種インデックスで範囲処理したいとかあるでしょ

41 :デフォルトの名無しさん:2011/10/24(月) 20:39:16.12
>>39
そうしてみます。ありがとう

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);

44 :デフォルトの名無しさん:2011/10/24(月) 20:58:20.71
っ ReadOnlyCollection

45 :44:2011/10/24(月) 20:59:01.42
おっとかぶった。

46 :デフォルトの名無しさん:2011/10/24(月) 21:07:02.95
なるほどー試してみます。ありがとう

47 :デフォルトの名無しさん:2011/10/24(月) 21:15:12.07
入力チェックはインデクサのSetでやって
変な入力あったら例外投げたらいいじゃん

48 :デフォルトの名無しさん:2011/10/24(月) 21:23:16.01
popサーバにアクセスして、新着メールを取得するプログラムを作りたいのですが、
接続〜取得まではうまくいきましたが、メールをフォルダわけしている場合に、
"受信フォルダ"←ルート?のメールしか取得できません。
条件で振り分けている他のメールも取得したいのですが、行き詰まってしまいました。
よい方法がわかるかたがいらしたら回答よろしくお願いします。


49 :デフォルトの名無しさん:2011/10/24(月) 21:28:41.45
>>47
インデクサ使ってくれるならいいけど
LIST渡したら普通Addされちゃうでしょ

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

List貰う側が、ファイル構成意識しながら、今おk?値を変更したよっていちいち
報告するのも変だし、それだったらそのクラスがList持ってたらいいわけで

50 :デフォルトの名無しさん:2011/10/24(月) 21:36:24.74
A.Items
A.Add()
A.Remove()

とにかくこういうクラスがすごく気持ち悪いと思うんだけど
おれだけかな?

51 :デフォルトの名無しさん:2011/10/24(月) 21:47:58.87
インデクサーでおk

52 :デフォルトの名無しさん:2011/10/24(月) 21:53:54.28
>>49
そもそもList渡さなきゃいいんじゃないのってこと

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

あ、まてよ、ページListを渡すんじゃなくてBookそのものを渡せばいいのか・・・

54 :デフォルトの名無しさん:2011/10/24(月) 22:07:41.84
this [index]を知らないとか?

55 :デフォルトの名無しさん:2011/10/24(月) 22:09:29.94
response.redirectってPage_Loadの中で使ってもいいんだっけ?

56 :デフォルトの名無しさん:2011/10/24(月) 22:09:52.57
>>54
それ知ってるけど、意味的にはクラス配列でしょ
>>53でもあるようにbook[i]はおかしくないですか?

57 :デフォルトの名無しさん:2011/10/24(月) 22:13:44.56
いや、bookクラス渡したんじゃだめだな
foreachできるようにしたいから、Listを返しているわけだし
やっぱり自作コレクションクラスにするべきなのかな

58 :デフォルトの名無しさん:2011/10/24(月) 22:15:26.69
>>56
別におかしくない
それが気になるならList[i]も使えなくね?

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)
これはおかしいと思う

61 :デフォルトの名無しさん:2011/10/24(月) 22:23:55.79
無意味なこと悩んでないでサクッと作れw

62 :デフォルトの名無しさん:2011/10/24(月) 22:25:36.63
ネーミングセンスの問題だな
books[i]とbook[i]では印象が違う

63 :デフォルトの名無しさん:2011/10/24(月) 22:30:28.72
こまけぇ・・・

64 :デフォルトの名無しさん:2011/10/24(月) 22:32:25.31
>>60
そんな事いってたらインデクサを実装してるクラスは
ほとんどおかしいことになるぞw

65 :デフォルトの名無しさん:2011/10/24(月) 22:45:28.75
DataGridViewとかどうすりゃいいんだよ

66 :デフォルトの名無しさん:2011/10/24(月) 22:46:52.75
>>48
ネットワークプログラミングスレでやってよ

67 :デフォルトの名無しさん:2011/10/24(月) 22:51:45.07
>>60
ここではおかしくないと考える人の方が多いようだ
ここではお前の頭がおかしい
ここではないどこかへ行くといい

68 :デフォルトの名無しさん:2011/10/24(月) 22:54:45.04
book.Authorsとか他にもあればおかしい

69 :デフォルトの名無しさん:2011/10/24(月) 22:55:41.27
直感に反するのは全部駄目

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がたくさんだよね

72 :デフォルトの名無しさん:2011/10/25(火) 01:07:16.55
book dataset

73 :デフォルトの名無しさん:2011/10/25(火) 08:05:37.98
短絡評価の論理演算(&&,||)って、処理速度を向上させるために、
条件によっては一つ処理をバイパスできるってことですかね?
結果は普通の&,|使ったときと変わりないですよね?
逆は必ずしも正しくないけど。

74 :デフォルトの名無しさん:2011/10/25(火) 09:30:01.26
&&,|| →bool値専用の論理演算子
&,|  →整数値専用の論理演算子

75 :デフォルトの名無しさん:2011/10/25(火) 10:32:48.35
if (a == null || !a.IsEnabled) { ... }
っていうのはよくあるパターン
結果が全然違う

76 :デフォルトの名無しさん:2011/10/25(火) 12:25:41.78
>&,|  →整数値専用の論理演算子

専用ってことはない。bool型にも使える。

77 :デフォルトの名無しさん:2011/10/25(火) 12:28:20.43
response.redirectってPage_Loadの中で使ってもいいんだっけ?

78 :デフォルトの名無しさん:2011/10/25(火) 17:38:40.28
>>13
アンチパターンってどういうこと?
ほとんど同じ機能のメソッドがあって一部違うだけだから
継承した方がコード減ると思ってやろうと思ったんだけど
こういう場合に継承使うのはだめなの?

79 :デフォルトの名無しさん:2011/10/25(火) 18:53:35.62
>>77
何か使えないって資料でもあるのか?
普通に使ってて問題になったことはないが

80 :デフォルトの名無しさん:2011/10/25(火) 20:10:21.34
>>78
コード量を減らすのが目的なら継承せずに
委譲したほうが後々メンテしやすい。

81 :デフォルトの名無しさん:2011/10/25(火) 23:30:06.71
コードを減らす目的で継承を使うと
たくさん継承しまくりになって、
どこがどこで呼び出すとかわけわからんくなるよね。

継承は、子クラスで親クラスの何かをオーバーライド(もしくは抽象メソッドを実装)
するときに使ういう、考え方がいいのだろうか。
ようするにちゃんとis-a関係があるのかってことなんだけど。

82 :デフォルトの名無しさん:2011/10/25(火) 23:41:22.33
>>80
スーパークラスは抽象クラス
あと、このクラスをまとめてforeachで回したいので
やっぱり継承必要なんだよねー
それでも継承だめですか?

83 :デフォルトの名無しさん:2011/10/25(火) 23:54:20.27
>>82
インターフェイス使え

84 :デフォルトの名無しさん:2011/10/26(水) 00:06:45.68
インターフェイスだと実装が書けないので
同じコードを複数書かなくてはいけないしなー
そこまでして継承を嫌う意味がわからないんだけど

85 :デフォルトの名無しさん:2011/10/26(水) 00:08:59.52
>>81
C#では多重継承できませんが?

86 :デフォルトの名無しさん:2011/10/26(水) 00:10:14.80
骨格実装ってのがあって…

バカに説明するの面倒だからやっぱ止めとくわ

87 :デフォルトの名無しさん:2011/10/26(水) 00:10:36.13
もう全部static付けたらいいよ・・・

88 :デフォルトの名無しさん:2011/10/26(水) 00:11:25.55
>>86
バカに説明できない人も、またバカなんですけど
どうですか?

89 :デフォルトの名無しさん:2011/10/26(水) 00:13:10.72
馬の耳に念仏ってやつだな

90 :デフォルトの名無しさん:2011/10/26(水) 00:16:29.55
そんな面倒をする気はないのでバカで構いません

91 :デフォルトの名無しさん:2011/10/26(水) 00:23:52.44
初心者スレでバカと言われても困りますね
バカがくるスレに何用ですか?
煽るためにくるなんて暇なプログラマもいるもんですね(笑)

92 :デフォルトの名無しさん:2011/10/26(水) 00:29:41.90
暇と面倒は相反しないからな

93 :デフォルトの名無しさん:2011/10/26(水) 00:42:48.80
初心者スレで バカと言われても  困りますね
バカが     くる          スレに何用ですか?
煽る      ために        くるなんて暇なプログラマもいるもんですね(笑)

94 :デフォルトの名無しさん:2011/10/26(水) 06:57:02.98
>>82
ポリモーフィズムが目的ならいいとけど
foreach(GetEnumerator)を個別に書きたくないからというならやっぱりお勧めしないなー

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じゃないかもしれないし

とにかくやってみるのが一番

97 :デフォルトの名無しさん:2011/10/26(水) 18:27:03.86
nullじゃない。 インスタンスを生成してる。 要素数は0。


98 :デフォルトの名無しさん:2011/10/26(水) 18:54:12.00
WinFormsコントロールにデータを表示する場合
DataBindingsって使ってますか?
データは全部DataSetに変換して使うのが基本なのかな?

99 :デフォルトの名無しさん:2011/10/26(水) 20:07:57.48
おいおい…

100 :デフォルトの名無しさん:2011/10/26(水) 20:10:57.19
インターフェイスすげぇ
別のクラスなのに同じインターフェイスつけると
List<T>に一緒に入れられるじゃないか!感動!

どこのサイトもインターフェイスの説明は
抽象クラスの違いだとか、実用性のないコード例ばっかでよくわからなかったが
こういうことを例にあげて説明しろよな

101 :デフォルトの名無しさん:2011/10/26(水) 20:12:09.62
それは、Objectにキャストするのと違いがあるのか?

102 :デフォルトの名無しさん:2011/10/26(水) 20:16:02.22
Objectだと元の型が同じじゃないと
Foreachにできないだろ

103 :デフォルトの名無しさん:2011/10/26(水) 20:16:50.23
然るべき時がくれば分かります

104 :デフォルトの名無しさん:2011/10/26(水) 20:23:05.39
今が教え時だよ

105 :デフォルトの名無しさん:2011/10/26(水) 20:24:21.63
dynamicで受け取ってダックタイピングしたらいいじゃん

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

109 :デフォルトの名無しさん:2011/10/26(水) 21:09:15.54
>>98
これどなたか教えてください

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
そこはコード例を理解するのに他の知識がいるし
説明していることは振る舞いだけで初心者には難しい

113 :デフォルトの名無しさん:2011/10/26(水) 21:12:18.80
>>109
コレクションをバインドしてもいいんだよ

114 :デフォルトの名無しさん:2011/10/26(水) 21:12:46.31
>>111
じゃあわかっているあなたが>>100の何が間違いか教えてあげたら?

115 :デフォルトの名無しさん:2011/10/26(水) 21:13:27.13
まあプログラミングは適性あるしな
猫でも分かる、猿でも分かる、ミジンコでも分かるC#的なサイトが必要だな

116 :デフォルトの名無しさん:2011/10/26(水) 21:15:46.55
VB中学校へどうぞ
書いてる本人がオブジェクト指向よくわかってなくて無理してるのが伝わってきて切なくなる

117 :デフォルトの名無しさん:2011/10/26(水) 21:15:49.23
そうやって初心者バカにするやつうざいんだけど消えてくれる?
邪魔なんだよねこのスレにとってさ

118 :デフォルトの名無しさん:2011/10/26(水) 21:16:27.50
>>116
じゃあ早く答えろよ

119 :デフォルトの名無しさん:2011/10/26(水) 21:18:10.21
>>116
お前プログラミング初めて数か月で理解できたのか?え?
何年やってるんだよおっさん
おっさんが覚えたてのプログラマバカにしてるの?
お前どんだけ無能なんだよw
初心者煽るぐらいしかお前にはできないんだなおっさん

120 :デフォルトの名無しさん:2011/10/26(水) 21:19:16.72
長くプログラミングやってるだけで偉そうにしているバカは死んでほしい
逆に長くやって未だにプログラマってのも無能な証拠じゃね?
一生安月給でPGやってろよ無能w

121 :デフォルトの名無しさん:2011/10/26(水) 21:22:34.47
またこの子キレちゃった

122 :デフォルトの名無しさん:2011/10/26(水) 21:23:22.83
はやく>>100の答え言えよ
わからないのか?
適当な事いってんじゃねーぞ

123 :116:2011/10/26(水) 21:23:47.65
お前らのことじゃなくてVB中学校っていう有名なサイトのことだよw
わかりやすいのはわかりやすい

124 :111:2011/10/26(水) 21:36:04.01
>List<T>に一緒に入れられる
に感動してて
>分かりにくいサイトNo.1

>http://ufcpp.net/study/index.html
ここをあげてたから
率直な意見を述べただけ。
別に>>100にいちゃもんつけたり煽ってたわけじゃないよ

125 :デフォルトの名無しさん:2011/10/26(水) 21:37:10.17
>>116
無理してるも何も試行錯誤してる段階だろ
何がわからなくて、何がだめなのかもわからない時期に
そういう努力している奴をバカにするってどういうことよ?
初心者なんて要領悪くて当然だろアホか

効率のいい進め方が1通りしかないならみんなそれやってるだろ
お前がやってきた過程をなぞらないとバカなのか?
視野が狭いんだよ、だからお前は無能なの
誰からも相手されないぼっちなんだよ

126 :デフォルトの名無しさん:2011/10/26(水) 21:38:12.70
無能にお詳しいですね

127 :デフォルトの名無しさん:2011/10/26(水) 21:56:30.40
確かにC#って初心者に一から入門できるサイトってあんまりないよね
前作ろうかと思ったけどわかりやすく教えられないからやめた

128 :デフォルトの名無しさん:2011/10/26(水) 22:03:27.79
ほぼJavaの上位互換だし

129 :デフォルトの名無しさん:2011/10/26(水) 22:04:23.25
>>101
どういう意味ですか?
もしかして継承?

130 :デフォルトの名無しさん:2011/10/26(水) 23:25:07.01
しゃーない
わしが作ってやろう

131 :デフォルトの名無しさん:2011/10/26(水) 23:26:56.97
>>129
恐らく「List<Object>なら何でも入るだろ」だと思うが
明らかにインターフェース使った時と違うよなw

132 :デフォルトの名無しさん:2011/10/27(木) 00:44:56.03
>>101はList<Object>って言いたかったのか?w
確かに何でも入るが利用する側はどうするんだよって話だな
バカだとしか言いようがない

133 :デフォルトの名無しさん:2011/10/27(木) 00:47:24.88
利用する側は別々にアクセスするなら
そもそもListなんかに入れるかよって話
ほんとこいつら無能だわwwww

134 :デフォルトの名無しさん:2011/10/27(木) 01:32:09.77
まあ、ポリモーフィズムの説明として、どうたらこうたら言うよりも
List<T>のTに入れられるぜ、ってのは分かりやすいのはそうかもね。

135 :デフォルトの名無しさん:2011/10/27(木) 01:40:09.81
GetHashCodeやToStringはメソッドじゃなくてプロパティでもよさそうなんですが、
なんでメソッドなんですか?

136 :デフォルトの名無しさん:2011/10/27(木) 03:51:34.03
>>134
継承するなっていったらかインターフェイスにしたのに
今度は継承しろってことか?
バカにしてるのか?ここの奴らは

137 :デフォルトの名無しさん:2011/10/27(木) 04:09:24.87
>>136
どこに反応してるのか分からんが、ポリモーフィズム=継承じゃないぞ

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 に詳しい人いたらおしえてください。



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
ちょっと答えになってないかもしれないけど
名前空間の中にクラスがある。名前空間以外にはクラスが書けない
ただこれだけ。違いは?言われても、これしか答えられない
車に例えると「フレームとエンジンの違いは何?」と聞かれてるみたいなもの

143 :デフォルトの名無しさん:2011/10/27(木) 11:09:51.25
namespaceはスコープの宣言
classはオブジェクトの実装の宣言

144 :デフォルトの名無しさん:2011/10/27(木) 11:34:45.26
クラスと構造体の違いみたいな物

145 :デフォルトの名無しさん:2011/10/27(木) 11:40:59.66
ファイルシステムのフォルダとファイルの認識でいいよ。
現実のフォルダとは一致させなくていいだけで。

146 :デフォルトの名無しさん:2011/10/27(木) 18:08:29.69
>>144
はぁ?

147 :デフォルトの名無しさん:2011/10/27(木) 19:17:49.40
>>79
念のためです
thanx

148 :デフォルトの名無しさん:2011/10/27(木) 21:42:58.63
>>139
どれぐらいの頻度でどのぐらいの大きさのを読みに行ってるのか分からないからなんとも。
でもまあ、とりあえずキャッシュ仕込むのは基本にして王道かと。

149 :デフォルトの名無しさん:2011/10/27(木) 21:51:10.19
>>139
WPFならModelの中でやって下さいConverterはそういうことをするところじゃない

150 :139:2011/10/27(木) 22:02:21.56
やっぱりWPF糞だわ
そしてお前らもな
質問したおれがバカみたい

151 :デフォルトの名無しさん:2011/10/27(木) 22:07:28.08
そんなことよりWPFはベストプラクティスに辿りつくまでがえらく長い

152 :デフォルトの名無しさん:2011/10/27(木) 22:08:28.90
待った、お前が自分(>>150)のことをバカみたいって自戒するのはいいよ

俺らもバカって何なんだ

153 :141:2011/10/27(木) 22:17:49.58
>>142-145ありがとうです

154 :デフォルトの名無しさん:2011/10/28(金) 13:06:59.71
初心者のボクが作った音声プレイヤーをMITライセンスで公開したら誰かコミットしてくれますか?

155 :デフォルトの名無しさん:2011/10/28(金) 13:16:31.79
コミットってなんやねんしばくぞ

156 :デフォルトの名無しさん:2011/10/28(金) 13:18:31.47
まず初心者のキミが作った音声プレイヤーを公開して質を見ないとな

157 :デフォルトの名無しさん:2011/10/28(金) 13:22:50.15
fittleみたいにリストが出ててレジストリ使わない奴です

158 :デフォルトの名無しさん:2011/10/28(金) 14:06:25.64
http://ameblo.jp/vcplusplusnote/entry-10270997092.html
これを使って2列あるListViewの2列目(SubItems[0]の列)をソートした後、そのListViewにitemをAddしようとすると
エラーになってしまうんですがどうすればいいですか?


159 :デフォルトの名無しさん:2011/10/28(金) 16:45:52.17
すいません、2列目はSubItems[1]の間違いです。


160 :デフォルトの名無しさん:2011/10/28(金) 18:23:10.06
どういうエラーか言わないのにどうしたらいいかは聞くんか

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

知るか

161 :デフォルトの名無しさん:2011/10/28(金) 18:30:06.74
できれば、何の例外が出たかくらいは教えてくれ。
ArgumentOutOfRangeExceptionか?

162 :デフォルトの名無しさん:2011/10/28(金) 18:54:51.46
ゆとり様はエスパーを期待しているんだろうな

163 :デフォルトの名無しさん:2011/10/28(金) 19:30:17.01
すいません。
http://file.hokahokanko.animech.net/Form1.cs

FormにListViewと、itemを追加する為のボタンを貼っただけです。

2列目を1回ソートした後、ボタンを押してitemを追加しようとすると
result = _objectCompare.Compare(
listViewX.SubItems[_columnToSort].Text, listViewY.SubItems[_columnToSort].Text);
の行で
'1' の InvalidArgument=Value は 'index' に対して有効ではありません。
パラメーター名: index
とでます。

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行目なわけだ
だからソートしてる段階ではまだ「存在してねえんだよクソカス」って状態なの
どうすればいいかは自分で考えて

166 :デフォルトの名無しさん:2011/10/28(金) 19:38:35.87
ListViewItem itm = ListView1.Items.Add("cccc");

↑なんだこれきもちわるい

167 :デフォルトの名無しさん:2011/10/28(金) 19:40:40.96
流れるようなインターフェースになりたかったけどなれてない感じ

168 :デフォルトの名無しさん:2011/10/28(金) 21:47:23.05
ListView1.Items.Add("cccc").SubItems.Add("sub_ccc");

も可能ってこと?



オエーー!!!! __
    ___/  \
   /  / //⌒
  / (゚)/ / /
  /  ( /。⌒丶。
 |   \\゚。∴。o
`/   /⌒\\゚。:o
/   |  \U∴)
    |   ゙U|
         ||
         U

169 :デフォルトの名無しさん:2011/10/28(金) 21:52:29.98
マンガ脳の恐怖、まで読んだ。

170 :デフォルトの名無しさん:2011/10/28(金) 22:01:51.82
?

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。

172 :デフォルトの名無しさん:2011/10/28(金) 22:56:33.32
>>165
分かりました。ありがとうございます。

173 :デフォルトの名無しさん:2011/10/28(金) 23:17:59.65
1/1000秒をカウントする一番最善な方法ってございませんか?

174 :デフォルトの名無しさん:2011/10/28(金) 23:21:39.16
っ StopWatch   って話ではなくて?

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
家庭教師でも雇え

178 :デフォルトの名無しさん:2011/10/29(土) 08:21:58.58
ストリップメニューをクリックしたら



D みたいな感じで出したいので、
元のstripmenueに入れるstripmenueを5こぐらい作りたいのですが
for(int i=0;i<5<i++) { this->hoge[i] = (gcnew System::Windows::Forms::ToolStripMenuItem()); }
みたいな感じにしたいのですがhogeはどういう型の配列を使えばループで作れるでしょうか?

179 :デフォルトの名無しさん:2011/10/29(土) 08:43:33.27
なんか野暮な見た目
http://vene.wankuma.com/ecma372/24_cli_array.aspx

array<System::Windows::Forms::ToolStripMenuItem>^ strips = gcnew array<System::Windows::Forms::ToolStripMenuItem>(5);
こうか?

180 :デフォルトの名無しさん:2011/10/29(土) 08:50:49.74
ありがとうございます
ストリップメニューに登録するときに
今までは
this->StripMenuItem1->DropDownItems->AddRange(gcnew cli::array< System::Windows::Forms::ToolStripItem^ >(5) {this->AToolStripMenuItem,this->BToolStripMenuItem,this->CToolStripMenuItem・・・}
と書いてたのですがここはどうすれば良いでしょうか?

181 :デフォルトの名無しさん:2011/10/29(土) 08:56:18.72
面倒くさくなったからC++/CLIスレで聞いてくれると嬉しい

182 :デフォルトの名無しさん:2011/10/29(土) 08:57:46.80
わかりました
ありがとうございました

183 :デフォルトの名無しさん:2011/10/29(土) 12:49:51.95
Chartの拡大範囲をマウスで選択するとき、小数以下で選択できないんですけどどうすればできるようになりますか?

184 :デフォルトの名無しさん:2011/10/29(土) 15:36:07.26
test

185 :デフォルトの名無しさん:2011/10/29(土) 21:53:48.35
Stripmenuの子がいくつかあってCheckOnClickでチェック状態を反転させるようにしてるのですが
1回クリックするたびにShowDropDown();状態が消えてしまいます消えないようにする定番の方法を教えてください

186 :デフォルトの名無しさん:2011/10/29(土) 21:53:59.29
>>176
DirectShowとSystem.Runtime.InteropServicesの学習

187 :デフォルトの名無しさん:2011/10/29(土) 22:52:01.44
windowsのコマンドラインから実行したとき、ctrl+zが押されたときに特定の処理をやりたいのですが
押されたか知る方法はございませんか?

188 :デフォルトの名無しさん:2011/10/29(土) 23:02:53.23
確認するが、それはコンソールアプリだよな?
そうであればConsole.ReadKeyでキー入力は取れる
そうでないなら起動したらコンソールから切り離されるから無理

189 :187:2011/10/29(土) 23:07:47.32
ごめんなさい、スレ間違いましたorz
rubyスレで質問したつもりでした
質問は取り下げます

190 :デフォルトの名無しさん:2011/10/29(土) 23:27:57.28
例えば性別テーブル
1 男
2 女
があって

性別テーブルからコンボボックスにFillでリストを表示させて、その値によってdgvの絞り込みを行っていますが、性別テーブルに無い全て(男女共)表示させたい場合どのようにすればいいですか?

191 :デフォルトの名無しさん:2011/10/29(土) 23:31:23.39
テーブルにないなら表示もできないだろアホか

192 :デフォルトの名無しさん:2011/10/29(土) 23:34:06.24
Fillしてコンボボックスにバインドする前に適当な値の空行を追加しろ
んで空行が選択されたらBindingSourceのFilterから性別を省くような処理を書け

>>190は説明不足が過ぎるから信頼性は知らん

193 :デフォルトの名無しさん:2011/10/29(土) 23:47:07.75
GetDirectoriesでStringにファイルのパスを入れたのですが
ファイル名だけ欲しいので最後の\までを切り取りたいです
どうすれば良いですか?

194 :デフォルトの名無しさん:2011/10/29(土) 23:50:54.18
Path.GetFileName

195 :デフォルトの名無しさん:2011/10/30(日) 01:37:16.39
<<192
やってみる。説明不足スマヘン。

196 :デフォルトの名無しさん:2011/10/30(日) 01:42:03.42
<<191
無理すんな。

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のどこにそのような記述があるかお教えください。

200 :デフォルトの名無しさん:2011/10/30(日) 02:45:38.98
別スレッドで掴んだ状態だから

201 :デフォルトの名無しさん:2011/10/30(日) 02:54:23.04
そうですか。ともかく、ReadTimeout は使わない(依存しない)ほうが良さそうですね。
ありがとうございました。

202 :197:2011/10/30(日) 02:58:07.62
ほんと使えねーなこのカス野郎ども
ちょっと難易度高めの質問したら
スルーしやがってよwwww
どうでもいいことには即レスする癖にww
あーあ、こんなとこで質問するんじゃなかったわwww

203 :デフォルトの名無しさん:2011/10/30(日) 03:03:09.74
↑成りすましはいかんよ。

204 :デフォルトの名無しさん:2011/10/30(日) 03:16:38.54
こういうネットに関してはPythonの方が楽だよな
1から処理し直さなくても手さぐりで進めていけるから

205 :デフォルトの名無しさん:2011/10/30(日) 04:42:22.50
大丈夫
俺らにはIronPythonがついてる

206 :デフォルトの名無しさん:2011/10/30(日) 07:31:54.16
次のListBoxのSelectedIndexの挙動の違いを教えて下さい。

void Form1_Load(object sender, EventArgs e)
{
ListBox list = new ListBox();
list.DataSource = new List<string>(new[] { "a", "b", "c" });
Controls.Add(list);

list.FormattingEnabled = false;
list.SelectedIndex = 2; // 適当にアイテムを選択
list.SelectedIndex = -1; // 選択を解除
Console.WriteLine(list.SelectedIndex); // これが 0 なのはDataSource設定時の仕様ですよね

list.FormattingEnabled = true;
list.SelectedIndex = 2; // 適当にアイテムを選択
list.SelectedIndex = -1; // 選択を解除
Console.WriteLine(list.SelectedIndex); // なぜ -1 になるのでしょう…
}

SelectedIndex = -1 ではなく ClearSelected() でも同じです。

207 :デフォルトの名無しさん:2011/10/30(日) 08:02:35.21
> Console.WriteLine(list.SelectedIndex); // これが 0 なのはDataSource設定時の仕様ですよね
false状態だと何も選択されていないから、何を代入してもゼロ

> Console.WriteLine(list.SelectedIndex); // なぜ -1 になるのでしょう…
trueになって正しい数値が入ってる

208 :デフォルトの名無しさん:2011/10/30(日) 09:29:07.71
あークラスの作り方がワカンネ。
今までclass Form1に全部詰め込んで作ってたから、特に問題なく動いてたプログラムを、
クラス分けの練習しようと弄り始めたら、
アクセス領域とかコンテキストだとかヤヤこしいな。
まあ何とかその辺はクリアしたんだけど、
最後にフォーム上のコントロールを直接触ってる部分や、
スレッドセーフのためのInvokeがどうしても移動できない。
根本的に分かってないからだろうなあ。
どこかこういう初心者向けの記事載せてるサイトとか無いですかね?

209 :デフォルトの名無しさん:2011/10/30(日) 09:44:36.97
>>185
ドロップダウンのClosingイベント等でキャッチして
条件にあえば.Cancel = true;にすれば閉じない

210 :デフォルトの名無しさん:2011/10/30(日) 09:57:02.39
>>208
>フォーム上のコントロールを直接触ってる部分や、
>スレッドセーフのためのInvokeがどうしても移動できない

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

Invokeに関しては、Controlオブジェクトをフィールドに持っておいて、
そのクラスをインスタンス化するときにcontrol.CreateHandle等を呼んでおき
Invokeするときはそのオブジェクトを使うとか

211 :デフォルトの名無しさん:2011/10/30(日) 10:08:27.71
>>207
ありがとうございます。
>false状態だと何も選択されていないから、何を代入してもゼロ
list.SelectedIndex = 2; の時点ではちゃんと 2が代入できて画面上でアイテムの選択も反映されています。
また、list.SelectedIndex = -1; を2度行うと -1 が代入され、ちゃんと選択解除されてしまうんです。

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

218 :デフォルトの名無しさん:2011/10/30(日) 14:30:08.43
秀丸マクロから呼び出せるDLLを作ることは可能ですか?

219 :デフォルトの名無しさん:2011/10/30(日) 14:31:54.12
>>216
一度C#から離れてオブジェクト指向調べてみたら?
デリケートは無いかも知れないけど、インターフェ−スの用法とかはそれで分かるはずだよ

220 :デフォルトの名無しさん:2011/10/30(日) 14:35:19.95
そいつに触るな
WPFスレみたいに荒れるぞ

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
エッセンシャルなんてしるかよアホか

225 :デフォルトの名無しさん:2011/10/30(日) 14:46:49.82
なりすましもコイツか?

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
メトロノームはちょっと前にいた人だ。
初夏くらいのころだっけ?

理解力はなさそうだけど誠実そうな人だったよ。

231 :デフォルトの名無しさん:2011/10/30(日) 15:10:26.41
ないわw

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
メトロノームは音声ストリームをリアルタイムに合成すればハードウェアの限界まで精度が上がるって結論になっただろ

236 :デフォルトの名無しさん:2011/10/30(日) 16:23:11.36
メトロ濃霧ってなに?

237 :デフォルトの名無しさん:2011/10/30(日) 16:24:37.06
濃霧/Fogを使ったデッキ
一世を風靡した

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制限したりするから汎用化も大変

242 :デフォルトの名無しさん:2011/10/30(日) 23:44:36.48
StreamReaderを引数に取る関数のテストを書きたいんだが
文字列->StreamReaderの変換ってどうやるのさ

243 :デフォルトの名無しさん:2011/10/30(日) 23:51:09.78
引数に取るものをTextReaderにしてStringReaderを使う
あるいはString→byte[]→MemoryStream→StreamReader

244 :デフォルトの名無しさん:2011/10/31(月) 00:18:37.58
>>241
ありがとうございます、これはわかりやすい。頑張ってみます

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スレに行きなさい

247 :デフォルトの名無しさん:2011/10/31(月) 14:33:38.11
>>243
別人だけど正に今探しにきた内容だったわー。ありがとう。
日本語を含むStringをStreamに変換したかったんだけど、MemoryStreamを介すると日本語が上手くいかなかった。
最初からStringReaderのコンストラクタに文字列を食わせればOKだった。

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 :248:2011/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を可変長配列と呼ぶのは違和感あるなあ。
リストと配列は全然別の概念だろう。

253 :デフォルトの名無しさん:2011/10/31(月) 19:32:05.45
>>243
なるほどありがとう TextReaderが親クラスだったのか

でもStreamReaderのが汎用性有りそうな名前してると思う

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 :254:2011/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じゃなくて?

262 :デフォルトの名無しさん:2011/10/31(月) 21:38:24.87
とりあえずメッセージボックスとかログとか仕込んで実行時のデータ確認しなよ

263 :デフォルトの名無しさん:2011/10/31(月) 21:39:42.09
>>261
ああ確かに、実際に読み書きされるのは user.config です。読み直したら
誤解を招く書き方となっており申し訳ないです。

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

どうしてWindows7限定で、待ち時間の経過で呼び出されたときだけ、反映してくれないのか……。

264 :デフォルトの名無しさん:2011/10/31(月) 21:41:35.60
とりあえず、スクリーンセーバーのエントリポイントでGetUserNameやってみ

265 :デフォルトの名無しさん:2011/10/31(月) 21:42:29.72
>>263
手動でやった方が速いだろアホ
てか、質問者は早く相談スレいけ

ここはキチガイと戯れるスレになったんだからな

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から生のバイトストリーム読めよ

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」とか使わないでパーサ使う方法でお願いします。


272 :271:2011/11/01(火) 05:35:43.10
すいません、ここは基地外スレでした
C#, C♯, C#相談室 Part68
http://hibari.2ch.net/test/read.cgi/tech/1316703574/
に移動します

273 :デフォルトの名無しさん:2011/11/01(火) 06:54:41.69
>>269-270
サンクス
やってみます

274 :デフォルトの名無しさん:2011/11/01(火) 07:00:17.32
>>271
何に困ってるのかがまず分からない
href属性の値見ればいいじゃん?

275 :デフォルトの名無しさん:2011/11/01(火) 11:43:23.61
interfaceのメリットを三行で教えてください。

276 :デフォルトの名無しさん:2011/11/01(火) 11:45:32.95
地肌が洗える?

277 :デフォルトの名無しさん:2011/11/01(火) 11:52:29.89
多重継承

278 :デフォルトの名無しさん:2011/11/01(火) 11:57:00.23
簡単にあわ立ち
頭皮の各層のうるおいを守りながら洗えるから
フケやかゆみを防ぐことができる


279 :デフォルトの名無しさん:2011/11/01(火) 12:24:57.23
>>275
ポリモーフィズム
そのクラスがどんな機能を持っているのか分かりやすい
どんなクラスでもインターフェースさえ実装してれば同じものとして扱える

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
あらゆるものをインターフェイスにする流儀はある
単体テストだけが目的で、実稼動時の実装は大抵一つだけ

283 :デフォルトの名無しさん:2011/11/01(火) 16:23:13.41
マクロ使えない方が不便だわ

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/

286 :デフォルトの名無しさん:2011/11/01(火) 17:02:53.02
Element拡張メソッドがXElementオブジェクト返すってのは分かるよね?
あとはMSDNでXElement調べれば属性の取得方法も分かるよ

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属性の属性値を取得する。
という手順になる。

288 :デフォルトの名無しさん:2011/11/01(火) 17:49:02.70
>>275
フレームワーク作ってる(または、作った後の)時に他人に実装作業をキックするときに、仕様を明確にし易いかな。
帰ってきた実装が明後日を向いてる時もあるだろうけど。

289 :デフォルトの名無しさん:2011/11/01(火) 18:41:40.95
Cにくらべてマクロが弱くてがっかりしています
とくに__LINE__ は どうやって代用するものなんでしょうか?

290 :デフォルトの名無しさん:2011/11/01(火) 18:43:28.01
StackTraceクラスを使う
C#の次のバージョンでは__LINE__相当の機能がサポートされる予定

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を手に入れるのかなと思ったら当然エラー。

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



292 :デフォルトの名無しさん:2011/11/01(火) 22:14:41.77
もういいよ
話が通じないことだけは分かった
答えて欲しかったらソース晒せ

293 :デフォルトの名無しさん:2011/11/01(火) 22:18:24.35
いや、もう諦めた
こんなとこで質問するんじゃなかったわ

294 :デフォルトの名無しさん:2011/11/01(火) 22:22:07.48
潔いな

295 :デフォルトの名無しさん:2011/11/02(水) 01:14:18.54
最近去り際に余計なこと言い残してくヤツ増えたね

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型やインスタンスを指してるの?


300 :デフォルトの名無しさん:2011/11/02(水) 02:39:09.23
とりあえず裸で1日正座してると実装されるって聞いた。

301 :デフォルトの名無しさん:2011/11/02(水) 07:37:38.41
スタックは1メガ

302 :デフォルトの名無しさん:2011/11/02(水) 09:03:23.10
>>299に便乗
その認識で合ってるけど、全ての値型がスタック?
それともスタックに積まれたメソッドのローカル変数のみ?
結局どんな型も値型変数とメソッドで構成されるから
何でもかんでもスタックに確保したら足りなくなっちゃうよね?

303 :デフォルトの名無しさん:2011/11/02(水) 09:04:29.77
>>299
大ざっぱに言って
スタックはあらかじめ確保済みのメモリ
ヒープは必要に応じて確保するメモリ
スタックの主な用途はローカル変数を格納すること
で、そのローカル変数が値型だとメンバ丸ごとがスタックに格納される
参照型だとメンバ(実体)はヒープに置かれてて、その参照だけスタックに格納する
ちなみにintは値型でstringは参照型

>>302
当然参照型の中に含まれるものはすべてヒープに置かれる

304 :デフォルトの名無しさん:2011/11/02(水) 09:07:11.69
つーか、そんなのは2ちゃんよりググレば詳しく説明してるサイトが
山ほどあるのに。

305 :302:2011/11/02(水) 09:13:00.19
>>303
すっきりした、ありがとう

306 :デフォルトの名無しさん:2011/11/02(水) 09:25:28.67
>>304
ググるキーワードがわからないってケースも少なからずあるかも知れぬ

307 :デフォルトの名無しさん:2011/11/02(水) 11:20:46.02
>>303
確保するのが"new"ってこと?

308 :デフォルトの名無しさん:2011/11/02(水) 11:22:04.15
C#は値型のローカル変数の初期化にもnew使うから一概にそうとは言えない

309 :デフォルトの名無しさん:2011/11/02(水) 11:23:15.87
>>307
そう
メモリ確保してそこにクラスをコンパイルして実行ファイルに埋め込んである
コピーするための雛形をコピーしてコンストラクタ呼んで初期化して・・・

310 :デフォルトの名無しさん:2011/11/02(水) 11:23:47.97
>>307
(参照型については)そう

311 :デフォルトの名無しさん:2011/11/02(水) 11:25:26.75
>>295
それ全部俺だけどな

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
静的型だから実際の型さえわかればメソッドは一意に決まるので、インスタンスはメソッドを持たない
インスタンスは型情報を持っていて
その型情報をもとに検索する

315 :デフォルトの名無しさん:2011/11/02(水) 11:44:32.29
すまん
下の方に但し書きであった

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



316 :デフォルトの名無しさん:2011/11/02(水) 11:46:20.01
>>314
メソッドを個別に持たない(コピーしない)のはわかるけど
メソッドの参照なり情報は持つんじゃないの?

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

でもクラスライブラリとかだとそういうのは都合悪いよね

317 :デフォルトの名無しさん:2011/11/02(水) 12:02:03.14
>>316
インスタンスじゃなくて型がメソッド情報を持てば十分なの
ToStringで何が呼ばれるかはインスタンスそのものじゃなくてその型で決まるだろ?
インスタンスは型情報を持てば十分

318 :317:2011/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に適当な別名を付けたい

322 :299:2011/11/02(水) 20:20:25.72
>>303
解答ありがとう。だいぶわかってきた。

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



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
まー、モジュールにしたときに依存関係ができちゃうので、
ファイル個々に設定する方が後々めんどくさくないのかも。

327 :デフォルトの名無しさん:2011/11/02(水) 20:53:09.88
> でもこの通りに考えるとint型の配列はヒープってことでおk?
配列のインスタンスはヒープに確保されるね

328 :デフォルトの名無しさん:2011/11/02(水) 23:43:03.22
>>324は正攻法だろ
本物のtypedefなんかよりよっぽど真っ当な方法

329 :デフォルトの名無しさん:2011/11/03(木) 00:38:19.40
そんなことのためにプリミティブ型の利点を捨てたくないです

330 :デフォルトの名無しさん:2011/11/03(木) 00:44:56.03
利点といっても値型ならほとんど何も変わらないけど

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
>>332
WinForms: http://msdn.microsoft.com/ja-jp/library/system.windows.forms.richtextbox%28v=VS.100%29.aspx
WPF: http://msdn.microsoft.com/ja-jp/library/system.windows.controls.textblock%28v=VS.100%29.aspx
どっちもそのものズバリなメソッドがあるから自分で探して

334 :デフォルトの名無しさん:2011/11/03(木) 16:28:13.34
>>333
ありがとうございます。
とりあえずRichTextBoxから試してみます

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をクリックした場合
で処理って変えられるの?

337 :デフォルトの名無しさん:2011/11/03(木) 16:54:29.49
っていうかそういうのは自前で描画してこそ楽しいのに

338 :デフォルトの名無しさん:2011/11/03(木) 17:09:24.60
>>335
無理 っていうかやめて
>>336
座標から文字を取得するメソッドが>>333の中にある

339 :デフォルトの名無しさん:2011/11/03(木) 17:26:35.08
初心者用で自前で描画しろってのはなかなか

340 :デフォルトの名無しさん:2011/11/03(木) 17:34:31.93
楽しさを解説してるようなURLくらい貼ってやりたいところだがそんなとこあるのかなーとか

341 :デフォルトの名無しさん:2011/11/03(木) 17:44:04.82
楽しいは楽しいけどな
出口の見えない迷路はつらい

342 :デフォルトの名無しさん:2011/11/03(木) 17:59:29.77
自前で描画すればマウスの位置から特定の文字列と判断するのも容易だし
やってみれば意外と簡単だったりするかもよ。

343 :デフォルトの名無しさん:2011/11/03(木) 18:35:20.53
とりあえず描画するのは簡単だ
でもコントロールとしてきちんと機能するものを作るのはアホみたいに手間がかかる

344 :デフォルトの名無しさん:2011/11/03(木) 18:43:33.93
コントロールにしなくてもいいのではないか。

345 :デフォルトの名無しさん:2011/11/03(木) 19:13:25.37
//スキル
foreach (Skill s in Skills)
{
s.Update(this);
if (s.State == State.CLEAR)
{
Skills.Remove(s);
}
}

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

さて、どうすりゃいい?

346 :デフォルトの名無しさん:2011/11/03(木) 19:15:56.12
Skills.ToArray()

347 :デフォルトの名無しさん:2011/11/03(木) 19:17:59.16
お前天才だな、ども

348 :デフォルトの名無しさん:2011/11/03(木) 19:28:09.58
要素が参照型じゃないと、要件は果たせないだろうけどね。

349 :デフォルトの名無しさん:2011/11/03(木) 19:34:55.25
//スキル
foreach (Skill s in Skills)
{
s.Update(this);
if (s.State != State.CLEAR)
{
Skills2.add(s);
}
}
Skills = Skills2


350 :デフォルトの名無しさん:2011/11/03(木) 21:45:24.39
IListならforでケツからループすればいい

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 :238:2011/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();

354 :デフォルトの名無しさん:2011/11/03(木) 23:09:36.24
WhereとかSelectとか意味わかんね
助けて;;

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あるって言ってなかったか
流行ってるのかこの質問

358 :デフォルトの名無しさん:2011/11/03(木) 23:32:11.60
定番の質問だよ新参のお兄さん。

359 :デフォルトの名無しさん:2011/11/03(木) 23:35:16.60
>>357
>>29-34

360 :デフォルトの名無しさん:2011/11/03(木) 23:39:33.31
HtmlElementでClickを拾って、キャンセルしたいならReturnValueに…何を返すんだったかな

361 :デフォルトの名無しさん:2011/11/03(木) 23:40:46.99
e.Click にキャンルじゃなかったっけ?

362 :デフォルトの名無しさん:2011/11/03(木) 23:42:08.83
そうだっけ
そりゃすまんの

363 :デフォルトの名無しさん:2011/11/03(木) 23:43:14.67
>>34にあった
DocumentCompletedイベントもしくはnavigatedイベント後にその後起こるNavigatingイベントを拾って
そこで条件にあった場合はe.Cancel = true;でいけるな

364 :デフォルトの名無しさん:2011/11/04(金) 01:45:05.51
本屋で何買えばいいか迷って結局何も買えずに帰ってきた
奥義、究極の、至高の、猫でも、猿でも、10日で、作りながら覚える、入門、555連発
なにか「これぞ」という実践的な内容のものないかなぁ

365 :デフォルトの名無しさん:2011/11/04(金) 02:20:14.18
実践は置いといて入門からどうぞ

366 :デフォルトの名無しさん:2011/11/04(金) 03:58:40.16
右下からにょきって出るのどうすんだっつってんだよ

367 :デフォルトの名無しさん:2011/11/04(金) 04:34:16.64
ボーダーなしのFormをAnimateWindow

368 :デフォルトの名無しさん:2011/11/04(金) 04:43:56.97
Win32APIがいるのかむずー

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
そもそも何のためにウェイトすんの

373 :デフォルトの名無しさん:2011/11/04(金) 11:16:08.50
ここ見とくと良いよ
http://d.hatena.ne.jp/NyaRuRu/20060910

374 :デフォルトの名無しさん:2011/11/04(金) 11:20:46.34
>>372
自宅のCorei7 2600Kとかだと余裕ですが、動作検証用に用意したPentiumD 805だと結構重たいので、
スレッドプール作ってスレッド分けしてみました。結果かなり改善されましたが、スレッドの数だけ
CPUのコアごとのCPU使用率が100%にへばりついてしまいます。そのためSleep(0)をSleep(1)に
置き換えたのですが、そうするとたまに動作の引っ掛かりを感じるようになりました。

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を渡す。
そうでなければ即座に返る。

377 :デフォルトの名無しさん:2011/11/04(金) 11:24:17.06
Thread.Sleep(0.1)
にすればいいよ

378 :デフォルトの名無しさん:2011/11/04(金) 11:26:14.86
>>371
やねうらお氏も同じこと言ってましたね……。
友人にもテストプレイさせたのですが、
「起動して暫くしたらPCファンがフル回転始めたwwお前のゲームだけだぞこんなのwww」
と言った反応だったので、何も知らない人はそんなもんなのかなあと。

>>373
そこ一旦は見つけたのですがVista以降とのことで読み飛ばしてました。
念のため読んでみます。

379 :デフォルトの名無しさん:2011/11/04(金) 11:50:23.66
C#,アクションゲーム,クロスプラットフォーム
そもそも前提が間違ってるような・・・

380 :デフォルトの名無しさん:2011/11/04(金) 11:54:52.26
XNAで作ればいいのに

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};

386 :デフォルトの名無しさん:2011/11/04(金) 18:33:34.11
MVPだったらビューにモデル渡してビューと直接バインドすればおk

387 :デフォルトの名無しさん:2011/11/04(金) 18:42:58.03
ビューに>>385なら分かるけどプレゼンターに>>385のコードっておかしくない?
MVPでプレゼンターのコードなら
model.PropertyChanged += (s) => view.Name = s; じゃね
質問者が思ってるのはMVPというよりプレゼンテーションモデルに近いような

388 :デフォルトの名無しさん:2011/11/04(金) 18:46:52.60
>>386
それやってしまうと、WinFormに依存することになりませんか?
いずれWPFに移行することになると思うので
ビューを意識した作りにはしたくないんだけど

WPFにもWinFormsでも同じように使えるモデルクラスを作りたいんです

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やる分には何の不都合もない

392 :デフォルトの名無しさん:2011/11/04(金) 21:21:32.64
なんか妙なこと言ってるよね
自分で何をしようとしてるかわかってるんか

393 :デフォルトの名無しさん:2011/11/04(金) 21:30:28.60
プレゼンテーションモデルじゃなくて
アプリケーションモデルがしたいんです
だからプレゼンターとモデルをバインドするって言っているんですけど・・・

394 :デフォルトの名無しさん:2011/11/04(金) 21:34:19.43
何で食い違ってるのかようやく分かったw

395 :デフォルトの名無しさん:2011/11/04(金) 21:34:42.79
プレゼンテーションモデルとアプリケーションモデルは同じものだけど

396 :デフォルトの名無しさん:2011/11/04(金) 21:37:41.02
最初からVとMをバインドさせない
PとMをバインドしたいからどうすればって聞いているのに
全く分かってない人だなー

397 :デフォルトの名無しさん:2011/11/04(金) 21:38:32.35
用語を正しく使えないと伝わらない

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風に書けばええんとちゃうの

403 :デフォルトの名無しさん:2011/11/04(金) 21:52:19.04
一般にはアプリケーションモデルまたはプレゼンテーションモデル、
WPF使えばMVVM

404 :デフォルトの名無しさん:2011/11/04(金) 21:54:14.47
一般にはって言うけどMVPやらMVCやらMVVMやらそれぞれ微妙に繋がりは違うよ
どれを指してるかは「プレゼンテーションモデル」の一言では特定できん

405 :デフォルトの名無しさん:2011/11/04(金) 21:56:31.93
>>401
いづれWPFに移行するのでそれに近い形で作りたいんです
MとVをくっつけちゃうと、絶対書き直さないといけないですからね

>>402
そうしたいので、Mとプレゼンテーションのバインドの仕方を聞いているんですけど
どうすればMのデータと同期が取れるんでしょうか?

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;
ではダメですか?

409 :デフォルトの名無しさん:2011/11/04(金) 22:09:55.31
INotifyPropertyChangedを使った場合
VMの値は自動で変わりますか?
WPFのVに対してINotifyPropertyChangedを使うと自動で同期してくれるのはわかるけど
通常のクラス同士でそれをする方法がわからない

410 :デフォルトの名無しさん:2011/11/04(金) 22:10:30.27
>>408
treeView1.SelectIndex=0

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を連結させる仕組みなんかないよ
何か変なものを読んだんじゃないか

413 :デフォルトの名無しさん:2011/11/04(金) 22:20:26.26
>>410
それはComboBox.SelectedIndex プロパティじゃないですか?
TreeViewには無いみたいなんです・・・

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
がんばってください

420 :デフォルトの名無しさん:2011/11/04(金) 23:22:23.16
WPですか
まったく分かりませんなw

421 :デフォルトの名無しさん:2011/11/04(金) 23:30:15.00
そうですか。全くのド素人なので下らない質問すいませんでした

422 :デフォルトの名無しさん:2011/11/04(金) 23:38:20.15
>>418
そのくらいだとプログラムというよりXAMLだけで実現できるレベルかも

で、久々にやろうとしたらエミュレーター上でサンプルプログラムが表示されねーでやんのw
エミュレーターも起動してWPのロゴもでてるんだけどなw

423 :デフォルトの名無しさん:2011/11/04(金) 23:41:39.50
たんに起動に時間かかってただけだった

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部分のタグとか認識に使えそうな情報は無いの?

430 :デフォルトの名無しさん:2011/11/05(土) 11:44:55.17
XMLに見えるだけでXMLじゃねえからな
難しさの違いはあれど画像を文字にしたいっていうのと話は変わらない

431 :デフォルトの名無しさん:2011/11/05(土) 11:49:21.83
特定のページに限るならそんな難しくないだろ

432 :デフォルトの名無しさん:2011/11/05(土) 11:52:10.66
少なくとも>>428にはパターンが抽出できないんでしょ?
その辺は人間性能に依存してしまうわ

433 :デフォルトの名無しさん:2011/11/05(土) 11:52:15.79
xmdoc.loadxml(getelementbyid("hoge").outerxml)
とかでできないかな

434 :デフォルトの名無しさん:2011/11/05(土) 11:56:41.49
>>432
サイト構造なんてそうそう変えないだろうしWebBrowserが解析して
xml(ぽい?)データとして表示してる以上は何かしらのマーカーとして使える
タグはあるはずだよ

htmlを晒してくれない(晒せない?)ので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 :428:2011/11/05(土) 12:24:22.99
ブラウザに表示されているデータだけを抜き出せばそのままxmlになると思うんですが、
可能でしょうか?

442 :デフォルトの名無しさん:2011/11/05(土) 12:24:36.01
ちょっと甘く見てたわ
俺はやめとくw

443 :デフォルトの名無しさん:2011/11/05(土) 12:25:32.08
表示された後のデータを抜き出すという考えは捨てるべき

444 :428:2011/11/05(土) 12:25:38.72
そんなこと言わないで><

445 :428:2011/11/05(土) 12:26:32.27
>>443
htmlに依存しないことを考えればベストかなと思ったんですが。。

446 :デフォルトの名無しさん:2011/11/05(土) 12:27:23.30
WebBrowserのDOMで子要素を持たないタグのインナーテキストを連結するだけでいけると思う

447 :デフォルトの名無しさん:2011/11/05(土) 12:27:47.92
だな。まずはそれだな。

448 :428:2011/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 :428:2011/11/05(土) 13:05:44.05
>>449
xmlのタグまで抜かれてしまったのでちょっと使えないです。。

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

みなさんありがとうございました!


454 :デフォルトの名無しさん:2011/11/05(土) 13:15:13.53
すげー

455 :デフォルトの名無しさん:2011/11/05(土) 15:47:20.17
>>436
>>437
>>438
>>440
>>442
>>443
無能。センスなし。

456 :デフォルトの名無しさん:2011/11/05(土) 15:51:10.64
>>455
余計なこと書かなくていい

あーまじでID欲しい

457 :デフォルトの名無しさん:2011/11/05(土) 15:56:31.18
テンプレート自分で作るの難しいと思っていたけど結構簡単に弄れるんだね
毎回同じコード書いてた作業が省けて便利

458 :デフォルトの名無しさん:2011/11/05(土) 16:23:53.87
そもそもなんでID表示が付いてないんだ

459 :デフォルトの名無しさん:2011/11/05(土) 16:33:16.11
>>455
職場でお前がいつもそう言われてるのは想像できる

460 :デフォルトの名無しさん:2011/11/05(土) 17:14:06.07
>>459は推測


>>455は事実

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の辺境のスレであっても気持ちよくやり取りしたいんだが
自演する人はその辺境のスレに居ついて遊んでるからな

465 :デフォルトの名無しさん:2011/11/05(土) 17:37:51.65
諦めの悪い

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

いやいや。匿名掲示板での人間の社会行動学による分析だよ。
そして>>460の反応から「図星」ということが分かる。

467 :デフォルトの名無しさん:2011/11/05(土) 17:47:34.02
以下社会行動学スレッドになります

C#perはしたらばでもどこでも邪魔が入らないところへ退出ください

468 :デフォルトの名無しさん:2011/11/05(土) 17:50:46.61
>>467
逃避行動ですな

469 :デフォルトの名無しさん:2011/11/05(土) 17:52:09.34
>>464
じゃあ質問に誠実に答えろよ
初心者バカにするからこうなるんだろ
お前らがそういう態度なら俺はやめない

470 :デフォルトの名無しさん:2011/11/05(土) 17:53:02.95
>>466
では根拠を論理的に述べてください

471 :デフォルトの名無しさん:2011/11/05(土) 17:57:47.22
C Sharpper

472 :デフォルトの名無しさん:2011/11/05(土) 17:58:36.56
気持ちよく罵倒するのも含まれてるのさ

473 :デフォルトの名無しさん:2011/11/05(土) 17:59:04.38
>>470
お、今度は攻撃性に転じました。
しかしオウム返し型なので、プライドは高いものの幼児性が抜けない人間と分析します。

474 :デフォルトの名無しさん:2011/11/05(土) 18:05:13.88
>>469
いくらお前が馬鹿にされたからって粘着するの止めろよなw

475 :デフォルトの名無しさん:2011/11/05(土) 18:09:20.13
そーだそーだ

476 :デフォルトの名無しさん:2011/11/05(土) 18:11:25.00
やめましぇーん

477 :デフォルトの名無しさん:2011/11/05(土) 18:12:08.89
>>473
根拠をどうぞ

478 :デフォルトの名無しさん:2011/11/05(土) 18:13:18.16
反応するバカの方が邪魔

479 :デフォルトの名無しさん:2011/11/05(土) 18:19:19.88
まったくだ

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 を忘れてたんでやってみます
ありがとうございました

483 :デフォルトの名無しさん:2011/11/05(土) 20:09:33.65
Objectに拡張メソッドでも仕込んでおけばいいよ

484 :デフォルトの名無しさん:2011/11/05(土) 20:16:06.59
static void p(object o) { p(o.ToString(); }
じゃダメなんだっけ? 引数の型を限定できないけど。

485 :デフォルトの名無しさん:2011/11/05(土) 20:19:08.31
役に立たねえなここの奴らは
無能ばっかかよ

486 :デフォルトの名無しさん:2011/11/05(土) 20:28:22.19
>>484
static void p(object o) { Console.Write(o.ToString() ) ; }

で出来ましたありがとうございました

487 :デフォルトの名無しさん:2011/11/05(土) 20:31:27.06
このスレはキチガイが一人増えても平常運行だな

488 :デフォルトの名無しさん:2011/11/05(土) 20:45:44.21
非常事態が何とやらだから
リアルに

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

493 :デフォルトの名無しさん:2011/11/05(土) 22:26:25.39
public int Number { get; set; }
↑これってどういう時に使うの?オーバーライド?

494 :デフォルトの名無しさん:2011/11/05(土) 22:28:35.87
単純な読み書きしかしないプロパティ使いたい場合

自動実装するプロパティ
http://msdn.microsoft.com/ja-jp/library/bb384054.aspx

495 :デフォルトの名無しさん:2011/11/05(土) 22:29:47.82
オーバーライドでそれ使うのはEFの1対多結合ぐらいだと思う

496 :デフォルトの名無しさん:2011/11/05(土) 22:41:05.42
>>494,495
なるほど、変数みたいな使い方をするのか
うーん、それでもコードが少なくなると以外のメリットが思い浮かばない・・・


497 :デフォルトの名無しさん:2011/11/05(土) 22:43:46.08
メリットはそれだけだよ
無いよりましでしょ

498 :デフォルトの名無しさん:2011/11/05(土) 22:45:32.56
WPFはプロパティじゃないとバインドできない
(なんでかは知らない)

499 :486、array版:2011/11/05(土) 22:46:55.09
static void p<T>(IList<T> a){
foreach(T piece in a) Console.Write("{0}, ", piece.ToString());
Console.WriteLine();
}

500 :デフォルトの名無しさん:2011/11/05(土) 22:54:03.70
>>498
それはバインドする場合プロパティじゃないとできないからだろw

501 :デフォルトの名無しさん:2011/11/05(土) 22:56:10.61
なんでやねん

502 :デフォルトの名無しさん:2011/11/05(土) 22:58:08.20
プロパティじゃないとバインドできないから

503 :デフォルトの名無しさん:2011/11/05(土) 22:58:29.72
バインドする場合プロパティじゃないとできないもんね

504 :デフォルトの名無しさん:2011/11/05(土) 22:59:46.41
>>496
プロパティだからアクセスレベルを設定できる
public int Number { get; private set; }
とかね

まあ自動実装自体はバッキングフィールドとかget、set
いちいち宣言、実装するのがめんどくさいからできたようなもんで
あまり多くを期待してもしょうがない

505 :デフォルトの名無しさん:2011/11/05(土) 23:06:02.86
バインドにはPropertyDescriptorを使うからってマジレスしていい?

506 :デフォルトの名無しさん:2011/11/05(土) 23:14:42.06
理由になってないよねそれ

507 :デフォルトの名無しさん:2011/11/05(土) 23:15:48.37
なんでPropertyDescriptor使うんでしょうね

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]' の戻り値を変更できません。
どうすりゃ変更できるの?

509 :デフォルトの名無しさん:2011/11/05(土) 23:17:16.95
別にそれなくてもバインドはできる
理由はプロパティじゃないとバインドできないからなんだよ

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
一時変数に代入してからプロパティ変更して書き戻す
値型はそれ自体一つの値なのでまとめて書き換える

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
こんな気持ち悪い書き方やめてくれ

515 :デフォルトの名無しさん:2011/11/05(土) 23:23:54.20
>>508
CollisionRectanglesだけじゃなく残りの二つも情報だせよ

516 :デフォルトの名無しさん:2011/11/05(土) 23:24:01.99
つーかC#のArrayListがよく分からん

517 :デフォルトの名無しさん:2011/11/05(土) 23:25:17.95
>>513
吹いた
Javaでもうまくいかないよそれ

518 :デフォルトの名無しさん:2011/11/05(土) 23:25:23.00
ArrayListは分からなくていい
今から始める奴は知らなくていい

519 :デフォルトの名無しさん:2011/11/05(土) 23:27:14.89
>Javaでもうまくいかないよそれ

いやいやいやw

520 :デフォルトの名無しさん:2011/11/05(土) 23:27:50.71
>>516
どぼんとか古いサイトのは見ない方がいいぞ

せめて2010年以降の記事やブログみなさい

521 :デフォルトの名無しさん:2011/11/05(土) 23:28:50.66
ああすまんJavaなら参照型だから大丈夫だな
こっちがごっちゃになってた

522 :デフォルトの名無しさん:2011/11/05(土) 23:28:57.18
JavaのtoArrayはObject[]になっちまうだろう

523 :デフォルトの名無しさん:2011/11/05(土) 23:30:21.05
rectList.toArray(new Rect[0])[i].X
こんなん

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;

525 :デフォルトの名無しさん:2011/11/05(土) 23:31:42.05
プロパティは、
public object obj{get;set;} = new object();

って書けるようになってほしいなぁ。

526 :デフォルトの名無しさん:2011/11/05(土) 23:32:02.32
つかJavaでもRectangleみたいなのはよく受け渡しのときに防御的コピーすることあるだろ

527 :デフォルトの名無しさん:2011/11/05(土) 23:32:14.76
プロパティ初期化子は欲しいのう

528 :デフォルトの名無しさん:2011/11/05(土) 23:32:15.42
もうXNA使えよ

529 :デフォルトの名無しさん:2011/11/05(土) 23:35:28.42
>もうXNA使えよ

それ解決策になってない

530 :デフォルトの名無しさん:2011/11/05(土) 23:37:06.95
>>528
もう使ってるw
エラーコードミロ

531 :496:2011/11/06(日) 00:14:39.78
>>504
ああアクセスレベルを設定できるってことを忘れてた
すごいメリットを感じてきた。答えてくれた人ありがとう

532 :デフォルトの名無しさん:2011/11/06(日) 00:15:44.05
だからといってプロパティじゃないとバインドできない理由にはならないけどな

533 :デフォルトの名無しさん:2011/11/06(日) 00:39:41.34
もうええわ

534 :デフォルトの名無しさん:2011/11/06(日) 01:27:47.44
やーだお

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#だとどうでしょうか?

536 :デフォルトの名無しさん:2011/11/06(日) 02:41:51.36
C#だとそもそもループカウンター使わないからなぁ、めったに。
ほとんどの場合、foreachで事足りる。
課題で出るような「九九表作れ」ならともかく、実用上だとほんとforeachしか使わない。

537 :デフォルトの名無しさん:2011/11/06(日) 03:49:34.08
>>535
from i in Enumerable.Range(0, n)
from j in Enumerable.Range(0, n)

538 :デフォルトの名無しさん:2011/11/06(日) 03:59:22.25
iとかjでループカウンタ回すの久しくみてないなぁ

539 :デフォルトの名無しさん:2011/11/06(日) 05:50:51.88
for i in range(5):

540 :デフォルトの名無しさん:2011/11/06(日) 05:56:19.09
for tinkasu in Tinko.Range(KARI_NO_MAWARI);

541 :デフォルトの名無しさん:2011/11/06(日) 05:58:06.74
要素削除する時くらいか
後はほとんどないな

542 :デフォルトの名無しさん:2011/11/06(日) 06:01:43.93
役立たず、もうええわ

543 :デフォルトの名無しさん:2011/11/06(日) 06:44:53.36
あの、DataVisualization名前空間のChartとか使ってる人いないです?


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使う方がいいのか?

547 :デフォルトの名無しさん:2011/11/06(日) 10:37:45.80
うん

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イベントをチェックするのは避けたいのですが、スマートな方法は無いものでしょうか?

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ビックリだよ。
まぁ、仕組み的にリストが巨大だとやめた方がいいやり方ですが。

550 :デフォルトの名無しさん:2011/11/06(日) 11:26:52.36
もっと短く出来るとは思うが、とりあえずlist.Take(list.Count()-1)は何なんだ

551 :デフォルトの名無しさん:2011/11/06(日) 11:36:44.98
おっと勘違い
でもIListに全部入れてたらIEnumerableの利点がなくなるような

552 :デフォルトの名無しさん:2011/11/06(日) 11:41:10.21
 ? ?
?????
 ? ? 
?????
 ? ? 

553 :デフォルトの名無しさん:2011/11/06(日) 11:44:21.13
>>548
Form側のMouseMoveでポインタがパネル上にあるか調べたら

554 :デフォルトの名無しさん:2011/11/06(日) 11:58:46.68
>>549
の完成版出来たら貼ってくれ

555 :デフォルトの名無しさん:2011/11/06(日) 12:05:53.43
>>553
やってみましたが、Panelに乗った時点で、MouseMoveイベントが来なくなるように見えるのですが。

556 :デフォルトの名無しさん:2011/11/06(日) 12:18:37.10
パネルのControlsを列挙して全部にイベント仕掛けるとか
それなら増えても大丈夫だし

557 :549:2011/11/06(日) 15:31:51.22
>>554
http://ideone.com/4rJys
ジェネリック化して、yieldを使ってみた。


558 :デフォルトの名無しさん:2011/11/06(日) 16:07:05.35
from x in list.Select((a, i) => new { Item = a, Index = i })
from y in list.Select((b, j) => new { Item = b, Index = j })
where y.Index < x.Index
select new { Item1 = x.Item, Item2 = y.Item2 }
クソ遅そう

559 :デフォルトの名無しさん:2011/11/06(日) 16:10:03.64
>>555
ButtonRenderer クラスを使って、PictureBox上にボタンを書くというのはどうかな?

560 :デフォルトの名無しさん:2011/11/06(日) 16:17:41.87
>>555
WPFやSLのようにルーティングイベントだっけ?
全部のイベントを親で拾えるやつ
ああいうのがあればいいよね

561 :デフォルトの名無しさん:2011/11/06(日) 16:21:35.09
あれはあれで拾いたい時に下の(上の)コントロールが拾ってHandledしちゃってて
「なんでこねえんだよ!フンガー!」
って思う時がある
特にListBoxなんかが勝手にHandledする場合がムカつく

562 :デフォルトの名無しさん:2011/11/06(日) 16:23:26.50
>>561
まあ理想系はないよね
出来る中でUIを工夫しろとしかいいようがないもの事実w

なんでwinformでそんな面倒なUIにしようとしてるのかという
背景も気になる

563 :デフォルトの名無しさん:2011/11/06(日) 16:43:34.04
foreachのvalueって参照渡し?

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>を継承させても駄目なのはなんで?
ダウンキャストできるんじゃ

565 :デフォルトの名無しさん:2011/11/06(日) 17:07:58.25
IEnumerator<T> enums = list.GetEnumerator();
while(enums.MoveNext()){
T value = enums.Current;

// foreachブロック内
}

これを参照渡しと呼ぶかどうかは知らん

566 :デフォルトの名無しさん:2011/11/06(日) 17:21:58.76
>>564
そりゃ、リストの継承ではないからだよ。
あくまで中身でしかない。
.LINQの OfTypeを使ってもダメ?


567 :デフォルトの名無しさん:2011/11/06(日) 17:23:16.63
inだかoutだかで行けなかったっけ
それはまた別か?

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で型取得してもシリアライズしてくれないんだな(動的型指定だとだめなのか?)

571 :デフォルトの名無しさん:2011/11/06(日) 18:20:58.71
意味がよくわかりません
XmlSerializerじゃダメなのか

572 :デフォルトの名無しさん:2011/11/06(日) 18:24:40.21
IEnumerable<IEnumerable<IFuga>>ならOK。

573 :デフォルトの名無しさん:2011/11/06(日) 18:30:09.24
シリアライズ可能な条件ってのがあるから
どんな型でもってのがまず

シリアライザにもよるけど

574 :デフォルトの名無しさん:2011/11/06(日) 18:40:45.23
>>571
それで型指定する部分があるじゃないですか

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

アプリによってセーブする内容が違うから当然型も違うわけで
どんな型でも汎用的に使えるセーブクラスを作りたいの

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

メソッドを

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

にする

576 :デフォルトの名無しさん:2011/11/06(日) 18:48:35.28
つーかシリアライザに何使ってるのかくらい書けよ。

577 :デフォルトの名無しさん:2011/11/06(日) 18:52:23.17
Object.GetTypeメソッドを知らなかったというオチ?

578 :デフォルトの名無しさん:2011/11/06(日) 18:52:23.38
例えばDictionaryクラスはSerializeサポートしていないから
メンバーにDictionaryが有るとそれだけで不可能

579 :デフォルトの名無しさん:2011/11/06(日) 18:54:08.69
晒せ
汎用クラスなら晒しても問題ないだろ

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

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

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

このような構造のセーブデータを保存したいんですよ
でもdけいない

581 :デフォルトの名無しさん:2011/11/06(日) 19:08:57.85
人の話し聞く気が無いようだし放置で

582 :デフォルトの名無しさん:2011/11/06(日) 19:14:42.70
放置だね

583 :デフォルトの名無しさん:2011/11/06(日) 19:18:07.45
放置するのはいいけど、覚悟してね

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

586 :デフォルトの名無しさん:2011/11/06(日) 19:26:31.52
覚悟なら常にしているさ

587 :デフォルトの名無しさん:2011/11/06(日) 19:28:09.57
人はいつか時をも支配できる

588 :デフォルトの名無しさん:2011/11/06(日) 20:26:49.31
foreachて処理する順序は保証されているの?

589 :デフォルトの名無しさん:2011/11/06(日) 20:28:35.88
いいえ

590 :デフォルトの名無しさん:2011/11/06(日) 20:33:29.84
列挙するコレクション型次第

591 :デフォルトの名無しさん:2011/11/06(日) 20:40:37.35
C#に限らずどの言語でもforeachは順番は保障されない

592 :デフォルトの名無しさん:2011/11/06(日) 20:49:31.57
横からすまないが、それって実行環境によって取り出す順番が変わることがあるって事?

593 :デフォルトの名無しさん:2011/11/06(日) 20:52:32.79
実行環境を見て列挙順を変えるようなMoveNextを書いてればその通りだよ

594 :デフォルトの名無しさん:2011/11/06(日) 20:53:41.68
IEnumeratorの実装しだい

595 :デフォルトの名無しさん:2011/11/07(月) 00:55:27.37
例えば配列やListは保証されているしDictionaryは保証されていない
foreachが、じゃなくて対象によって異なるわけで

596 :デフォルトの名無しさん:2011/11/07(月) 01:01:50.23
だめだこいつらww
ネイティブの言語扱ったことないんだろうなwww
実行環境に依存って意味がさっぱりわかってないwwww

597 :デフォルトの名無しさん:2011/11/07(月) 01:13:59.26
全然分からんわ
さいなら

598 :デフォルトの名無しさん:2011/11/07(月) 01:21:36.54
実行環境というか実際のデータ構造というか

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");
    }
  }
}

600 :デフォルトの名無しさん:2011/11/07(月) 02:32:00.39
Hage.HelloWorld()

601 :デフォルトの名無しさん:2011/11/07(月) 02:43:22.19
>>596
もともと「実装依存」の話してたところに「実行環境依存」の質問が割り込んだけど、
後者が無視されただけでしょ。

実装依存だから、まあ、実行環境依存な MoveNext も書こうと思えばかけるだろうけども。

602 :599:2011/11/07(月) 02:53:19.94
すみません自己解決しました
HageクラスをpublicにすればGetTypeで普通に呼び出せますね

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

もう一つ質問なんですが
上のサイトのサンプルのようにdynamicを使って静的メソッドを呼び出すことは出来ますか?
静的メソッドもinvokeを使わずに呼び出したいのですけれど


603 :デフォルトの名無しさん:2011/11/07(月) 02:57:26.00
>>601
そいつに話しかけんなバカ

604 :デフォルトの名無しさん:2011/11/07(月) 07:13:36.77
みんな初めてさわった言語って何?

605 :デフォルトの名無しさん:2011/11/07(月) 07:20:23.45
俺は日本語だったな
プログラミングはVB6だったけど

606 :デフォルトの名無しさん:2011/11/07(月) 07:29:17.38
F-BASIC386

607 :デフォルトの名無しさん:2011/11/07(月) 07:30:55.15
>>604
C


608 :デフォルトの名無しさん:2011/11/07(月) 07:38:31.42
IBM-COBOL

609 :デフォルトの名無しさん:2011/11/07(月) 07:44:49.34
Quick-C

610 :デフォルトの名無しさん:2011/11/07(月) 08:20:37.35
N-BASIC

611 :デフォルトの名無しさん:2011/11/07(月) 09:01:40.55
php

612 :555:2011/11/07(月) 09:06:18.47
遅くなってすいません。

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

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

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

>>562
twitterの様に、特定の部分にマウスがある時だけ、その下にある投稿に対するメニューを出そうと思いまして。

613 :デフォルトの名無しさん:2011/11/07(月) 09:07:24.86
>>604
C

614 :デフォルトの名無しさん:2011/11/07(月) 09:16:46.73
もういいよ

615 :デフォルトの名無しさん:2011/11/07(月) 11:01:56.06
Cシャーパー御用達のプログラミング関係雑誌教えてくれ。
今は日経ソフトウエア1年くらい読んでるけど、そろそろネタが一周したようだから、
違うタイプ、切り口のに変えたいんだが、近所の本屋が立ち読み禁止で紐かけてるから、
中身がどんな感じかよく分からんので。どれも一緒かなぁ?

616 :デフォルトの名無しさん:2011/11/07(月) 11:19:12.09
MSDN Magazine

617 :デフォルトの名無しさん:2011/11/07(月) 12:00:10.97
>>612
ウィンドウプロシージャのオーバーライドは?

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
え!?

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、マウスを載せたらボタンが出現するカスタムコントロールが簡単に実現できますよ

624 :デフォルトの名無しさん:2011/11/07(月) 13:01:40.61
そしてVisualStyle無効環境で涙目っと
仕方ないとはいえ場合分け面倒です

625 :デフォルトの名無しさん:2011/11/07(月) 13:11:06.69
>>624
ButtonRendererは大丈夫だよ
http://youryella.wankuma.com/Library/Document/ControlPaint.aspx

626 :デフォルトの名無しさん:2011/11/07(月) 13:21:19.12
動けばいいの

627 :デフォルトの名無しさん:2011/11/07(月) 13:24:41.84
>>619
SilverlightはWPFじゃなくて.NET Frameworkそのものの機能限定版
だから動かすのに.NETいらない

628 :デフォルトの名無しさん:2011/11/07(月) 14:25:16.55
>>617
メッセージの発生タイミングが問題なので、プロシージャをオーバーライドしても解決し
ないと考えたのですが、理解が間違ってますでしょうか?

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

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

>>622
その方法が一番効率が良いでしょうか。MouseEnterの方は問題が無いので、MouseEnterの
タイミングでタイマーを走らせて、出たら止める、という感じですよね。

629 :デフォルトの名無しさん:2011/11/07(月) 15:54:57.13
splitcontainerでパネルを上下に配置にしてパネル1にtextboxを配置させてパネル2にlistViewを配置しました
textboxもlistViewもdockをfullにしてあります
この状態ですとパネル1とパネル2の間に境界線が太く見えてしまいます
パネル1をtextboxのサイズに合わせたいのですがデザインで境界線をマウスで上にドラッグして言ってもこれ以上玄海なのか境界線が上に移動しません
見栄え欲したいのですが方法ございませんか?


630 :629:2011/11/07(月) 15:57:03.48
プロパティのSplitterDistanceの数字に25が設定されていたので
textboxと同じサイズの19に変更を試みるも勝手に25に戻されてしまいます

631 :デフォルトの名無しさん:2011/11/07(月) 15:57:59.71
Listboxのどこかのプロパティでいじれるはず

632 :デフォルトの名無しさん:2011/11/07(月) 15:59:00.15
ああtextboxか

633 :デフォルトの名無しさん:2011/11/07(月) 15:59:34.28
>>630
ある程度上まで来たらPanel1を非表示化するとか?

その辺がいやならsplitcontainerを使わないでPanelを2つとsplitを使って
自前でやるとか

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;
        }

636 :デフォルトの名無しさん:2011/11/07(月) 17:10:02.42
>>629 >>630
splitcontainerのPanel1MinSize が 25 になってるんじゃない?

637 :デフォルトの名無しさん:2011/11/07(月) 17:20:49.64
>>635
すごいです!勉強になりました

638 :デフォルトの名無しさん:2011/11/07(月) 17:24:49.97
>>637
ご希望に添えて何より!

639 :629:2011/11/07(月) 17:53:06.75
>>631->>633
ありがとうございます
小生には自前でやるほどのスキルがなくsplitcontainerを使いたいですが自前でやることも視野に入れて検討したいと思います

>>636
ありがとうございます
Panel1MinSizeを19にしたらデザイン画面がフィットしました
ただ、F5を押してプログラムが起動すると境界線が太くなります
画像を添付しました
ttp://s1.gazo.cc/up/s1_5178.jpg
左がデザインで右がF5を押したときの起動したプログラムです


640 :デフォルトの名無しさん:2011/11/07(月) 17:59:20.92
ListViewコントロールなどのLabelのユーザー編集モードを
他の場所をクリックした時に終了させるにはどうしたらいいですか?

641 :デフォルトの名無しさん:2011/11/07(月) 18:09:47.92
C#でのマルチスレッドを
効果的、効率的に使用するためのイディオムや注意点などを
それなりに体系的に学べる書籍かサイト(msdn以外)を教えてください。

javaでいう
「Java言語で学ぶデザインパターン入門マルチスレッド編」
のようなものを探しています。

642 :デフォルトの名無しさん:2011/11/07(月) 18:22:08.50
ふーん

643 :デフォルトの名無しさん:2011/11/07(月) 18:25:38.01
存在しない場合なんて答えればいいの?

644 :デフォルトの名無しさん:2011/11/07(月) 18:29:52.13
>>643
ないならないで別にかまわないんですが

645 :デフォルトの名無しさん:2011/11/07(月) 18:38:44.17
まあ知ってる人が答えると思うよ

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
おぉ、まとまってて読みやすそうです、ありがとうございます!

648 :デフォルトの名無しさん:2011/11/07(月) 19:06:02.15
FileStream なんて何のためにあるんだ?
文字コード選べないしまったく使えないんだが
こういう無駄な物削ってもっとスリムにしろよ

649 :デフォルトの名無しさん :2011/11/07(月) 19:32:35.97
StreamReaderとかStreamWriterで文字コード選べるだろ

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)並列処理ライブラリがいろいろ増えてる。

654 :デフォルトの名無しさん:2011/11/07(月) 20:49:26.09
増えてるね。

655 :デフォルトの名無しさん:2011/11/07(月) 20:52:40.39
4の非同期メソッドがすごすぎる・・・

656 :デフォルトの名無しさん:2011/11/07(月) 20:54:10.72
.net4じゃなくてC#4のことね

657 :デフォルトの名無しさん:2011/11/07(月) 20:56:38.03
dynamicとか

658 :デフォルトの名無しさん:2011/11/07(月) 21:28:54.05
>651
>652
>653
ありがとうございます。

659 :デフォルトの名無しさん:2011/11/07(月) 21:33:00.32
>>648
FileStreamとかMemoryStreamとか、ネットのストリームとかそういうものは全部Streamクラスの実装
そのストリームをStreamReaderとかで操作する
こうすることで、メモリにファイルを保存したり、ネットから直にファイルのように読んだりできる

これでStreamを受け取る関数を1つ作るとファイルとメモリの違いとかを気にせずに作れて、使う側も作る側もかなり便利

660 :デフォルトの名無しさん:2011/11/07(月) 21:43:17.28
>>659
そういう使い方ができるのか
ファイル操作しかしてなかったから知らなかったわ

661 :デフォルトの名無しさん:2011/11/07(月) 22:45:19.81
>>658
いえいえ

662 :デフォルトの名無しさん:2011/11/07(月) 22:59:25.76
>>655
asyncはC#5

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なんぞ使うな。あんなに簡単に偽装できるもんを認証に使うなんて頭おかしい。

665 :デフォルトの名無しさん:2011/11/08(火) 03:56:04.93
>>647
C#4.0から追加された、Task周辺も読んでおいたほうがいいよ。
劇的に簡単になったから。

666 :デフォルトの名無しさん:2011/11/08(火) 06:50:44.38
ど素人なのですが
変数を宣言するとき
varって使わない方がいいですか?
型名をきっちり記述したほうがいいのですか?

667 :デフォルトの名無しさん:2011/11/08(火) 07:23:22.30
初心者ならちゃんと型書いた方がいいんじゃないかな

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がそれと同じものだと思い込んでいるのかも

673 :デフォルトの名無しさん:2011/11/08(火) 09:24:37.17
Bah!

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
「どうやって回避しようかと」まで書いて打ち直したら消し忘れました

678 :デフォルトの名無しさん:2011/11/08(火) 10:50:07.35
>>664
大学の研究上必要なのでお聞きしました。
一般的に使われてないことくらいわかってます。

679 :デフォルトの名無しさん:2011/11/08(火) 11:31:26.23
研究・・・2chで解決法を聞くのか?w

680 :デフォルトの名無しさん:2011/11/08(火) 12:05:34.15
答えてもいいが論文は連名にしてくれよ
ああでもFランの論文に名前書かれても恥ずかしいだけだな
やっぱいいや

681 :デフォルトの名無しさん:2011/11/08(火) 12:54:45.45
JavaScriptみたいに変数名などコードを圧縮したら処理早くなるの?

682 :デフォルトの名無しさん:2011/11/08(火) 13:21:06.39
>>665
ありがとうございます。調べてみます!

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=のクォーテーションが勝手に消えるけど、消えなくする方法ある?

684 :デフォルトの名無しさん:2011/11/08(火) 17:44:56.94
>>681
ならない

685 :デフォルトの名無しさん:2011/11/08(火) 20:17:19.50
>>666
varでいいよ。

686 :デフォルトの名無しさん:2011/11/08(火) 20:22:53.32
listboxに登録したアイテムをフィルターする方法を伝授してください
例えば以下のアイテムがlistbox追加されているとします
apple
auth
brrow
cso

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

現時点ではtextboxに入力されるたびにアイテムの追加時にifでチェックしながらlistboxに追加していますが
アイテム項目が多くなるとこれはきついです


687 :デフォルトの名無しさん:2011/11/08(火) 20:25:49.59
あきらめるという選択

688 :デフォルトの名無しさん:2011/11/08(火) 20:29:27.69
アルファベットの頭の文字分をリストとかで確保してそこに関連有るデータをソートして突っ込んでおくとか・・・。


689 :デフォルトの名無しさん:2011/11/08(火) 20:47:18.17
だいぶ前にちょうどそのサンプルを見かけた覚えがある

690 :デフォルトの名無しさん:2011/11/08(火) 21:48:49.31
DataTableに突っ込んでDataSourceにしといて
DataView.RowFilterでフィルタ、とかかねー

691 :デフォルトの名無しさん:2011/11/08(火) 22:04:37.91
ソート済みのリストを用意して自分で下限を二分探索するロジックを組むか、木を自作するか

692 :デフォルトの名無しさん:2011/11/08(火) 22:17:20.11
きついっていうけど、いくつなのよ。

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))
{ いろいろ }
}

694 :デフォルトの名無しさん:2011/11/08(火) 22:23:36.66
並列にメモリを食うんでしょ?
あきらめるか、メモリ増やせば?

695 :デフォルトの名無しさん:2011/11/08(火) 22:24:42.84
>>693
勘違いしてないか
Forに渡したブロックは自動的にコア数程度に調整されて並列実行されるから
その中でさらにBeginInvokeとかいらない
それだと一気に実行されてしまう

696 :695:2011/11/08(火) 22:27:03.91
すまんちゃんと見てなかったわ
無視して

697 :デフォルトの名無しさん:2011/11/08(火) 22:32:28.27
>>688
↑こいつ最高にバカww

698 :デフォルトの名無しさん:2011/11/08(火) 22:36:50.31
64bitプロセスにする
いっそ処理ごとにプロセスを分ける

699 :デフォルトの名無しさん:2011/11/08(火) 22:55:33.38
>>697
なんで?

700 :デフォルトの名無しさん:2011/11/08(火) 23:11:30.47
バケットソートも知らんアホにかまうなよ

701 :デフォルトの名無しさん:2011/11/08(火) 23:25:04.38
>>693
丹念に変に溜め込んでいる変数、メソッドがないか調べるしかないかと。
巨大なリストのLINQでOutOfMemoryになったこともあるから、
溜め込んで処理をするより、逐次処理にするように変えるといいと思う。

702 :693:2011/11/08(火) 23:32:08.87
>>698 64bit化は残念ながらほかの事情できません。別プロセス化はどうもよく
わかりませんが、なんか情報のポインタありませんか?

>>694 メモリ増やすっつうか、根本的に32bitプロセスの限界のことです。

いろいろ試行錯誤した結果、Parallel.Forの中でSystem.GC.Collect();
を挟むことで、とりあえず動くようにはなりましたが、どうにもこれでは行き当たり
ばったり感というか、別のテストケースでは解決にならなさそうな、そういう不安が
つきまといます。メモリを食うメソッドの中で使うメモリの量自体はほぼ一定ですが、
ここの過去スレで、Parallelはコア数に応じてスレッド数を自動で調整するとあった
ので、もっとコアが多い場合はGC.Collectが間に合わないのかなあと不安です。

703 :デフォルトの名無しさん:2011/11/08(火) 23:39:38.92
Wpfだと、AutoCompleteBoxって言うMS製ライブラリ(のコンポーネント)有るんだけどね
http://wpf.codeplex.com/releases/view/40535

704 :デフォルトの名無しさん:2011/11/09(水) 01:17:02.65
>>693
メソッド単位じゃなくてクラス単位で処理する
クラスにDisposeを持たせる

705 :デフォルトの名無しさん:2011/11/09(水) 03:04:38.05
メソッドAを継承して子供C1,C2,... によって A'1 A'2,... として実行するとして
ベースメソッドの

A'1 の前に Aの処理を行うのって無理ですか?

706 :デフォルトの名無しさん:2011/11/09(水) 03:05:49.46
ベースメソッドの は余計でした


707 :デフォルトの名無しさん:2011/11/09(水) 03:35:03.64
base.A()ってオーバーライドされるんだっけ??

708 :デフォルトの名無しさん:2011/11/09(水) 03:42:45.50
こういう感じか!?
ttp://ideone.com/LeekS

709 :デフォルトの名無しさん:2011/11/09(水) 04:01:29.71
Cだと基底クラスのメソッドが呼ばれるんだっけか

710 :デフォルトの名無しさん:2011/11/09(水) 04:06:46.55
base.base.A()ができないので、overrideじゃなくてnewで頑張るのがいいかもしれん。
ttp://ideone.com/PtvEH

711 :デフォルトの名無しさん:2011/11/09(水) 04:14:54.16
ttp://ideone.com/nV08o

こういうのを駆使するしか無い気がするようなしないような。

712 :デフォルトの名無しさん:2011/11/09(水) 05:59:12.59
基底クラスに継承クラスが呼び出すためのprotected sealedメンバ作りゃいいじゃん

713 :デフォルトの名無しさん:2011/11/09(水) 09:43:00.73
WPFのCanvasでAddしてない領域のマウスイベント取るのはどうするのん?

714 :デフォルトの名無しさん:2011/11/09(水) 10:07:04.28
背景にブラシを設定する
透明がよければブラシの色は透明でも構わない

715 :デフォルトの名無しさん:2011/11/09(水) 11:24:05.91
>>714
ありがとう、助かりました。

716 :デフォルトの名無しさん:2011/11/09(水) 14:03:59.96
あるクラスのpublicメソッドだけで実現できるが、
便利機能としてそのクラスにメソッドとして付加したい。
こんなときは積極的に拡張メソッドの形式で追加すべきですか?

717 :デフォルトの名無しさん:2011/11/09(水) 14:11:05.23
いいえ
乱用するとどこのメソッドを呼んでるのかわかりづらくなるので
拡張メソッドは本当にどうしても必要な場合以外は避けるべきです

718 :デフォルトの名無しさん:2011/11/09(水) 14:25:28.67
>>717
なるほど、そういう思想なんですね、うっかり乱用するところでした。
ありがとうございます

719 :デフォルトの名無しさん:2011/11/09(水) 18:43:41.52
命名規則がよう分からん

void CalcParameter(int bonusPoint){}

int MenberID = 2;

ここまでおk?

720 :デフォルトの名無しさん:2011/11/09(水) 19:03:35.36
publicじゃないなら好きにしろ
ここまでおkも糞もない

721 :デフォルトの名無しさん:2011/11/09(水) 19:06:14.26
publicならどうなるのか書けばいいのに

722 :デフォルトの名無しさん:2011/11/09(水) 19:15:35.43
そんなことは聞かれていない

723 :デフォルトの名無しさん:2011/11/09(水) 19:17:18.81
http://msdn.microsoft.com/ja-jp/library/ms229002%28v=VS.100%29.aspx
これに従え。
書いていないことは好きにしろということだ。

724 :デフォルトの名無しさん:2011/11/09(水) 19:21:07.29
CalcParameterみたいな名前って嫌い
Parameterって何のParameterなんだよ

725 :デフォルトの名無しさん:2011/11/09(水) 19:24:17.21
private camel、それ以外pascal、privateの中でも触れちゃいけないものは_prefix
かな

726 :デフォルトの名無しさん:2011/11/09(水) 21:57:12.58
デスクトップ画面を画像で取り込む
できれば拡大鏡みたいなものを作りたいんだけど
C#だけで可能?Win32APIとか絡んでくる?

727 :デフォルトの名無しさん:2011/11/09(水) 21:59:39.40
>>726
APIも必要かもしれないがそれほど難しくないよ

でも扱うサイズによってはC#だと負荷が凄いことになるかも

728 :デフォルトの名無しさん:2011/11/09(水) 22:11:59.84
画像処理は苦手なのかなC#は
PCから離れて操作したいので小さい文字を拡大したいんだけど
.Net Frameworkを使っているソフトは表示しているレイヤー?が特殊らしくて
どの拡大鏡ツールも透けて見えちゃうんで自作しようと思ったんです
VSだとテキストエディアは普通に表示されるけど、
インテリセンスやコンテクストメニューは透けて見えなかったりします
マウスポインタ付近だけ拡大できればいいので画面全体じゃなくてもいいんだけど
難しいですかね

729 :デフォルトの名無しさん:2011/11/10(木) 02:10:14.38
PPPOEブリッジで接続する方法を教えて下さい
RASPHONE, RASDIALだとビジーでスと言われ接続できません
フレッツ接続ツールでは接続できるのに

730 :デフォルトの名無しさん:2011/11/10(木) 04:16:02.56
>>728
描画方法の問題だから画像処理の得意不得意は関係ないだろう
とりあえずOSとVSのバージョン、問題の.NETアプリがWPF使ってるかどうかくらいは書いてもらわないと

731 :デフォルトの名無しさん:2011/11/10(木) 04:40:45.73
>>728
書き忘れた
Graphics.CopyFromScreenで問題なくキャプチャ出来るなら、タイマーで定期的にポインタ周辺をキャプチャして拡大表示するだけなので拡大鏡作るのは簡単

732 :デフォルトの名無しさん:2011/11/10(木) 04:43:01.31
>>730
XPでVSは2010です
Winフォームで作ろうと思っているんですが、WPFでないと実現できないならそれでも構いません

733 :デフォルトの名無しさん:2011/11/10(木) 04:56:11.62
>>731
そのやり方も透けてしまいます
http://dobon.net/vb/dotnet/graphics/screencapture.html
ここのWin32 APIを使いやり方でも透けました

734 :デフォルトの名無しさん:2011/11/10(木) 05:12:15.84
別にWPFで作る必要はないよWinForms(GDI)とWPF(DirectX)ではスクリーンに画像を転送する機構が違うから確認しただけ

XPなのか…PrintScreenでは問題なくキャプチャ出来る?

735 :デフォルトの名無しさん:2011/11/10(木) 05:35:14.17
PrintScreenだと問題なくキャプチャできます

736 :デフォルトの名無しさん:2011/11/10(木) 06:21:02.50
XPのデスクトップコンポジションあたりの勝手がよくわからんので調べてみたけど、PrintScreenをタイマー送信した方が簡単そうだなあ…
Vista以降なら簡単なんだが

737 :デフォルトの名無しさん:2011/11/10(木) 06:59:41.23
一応PrintScreenでやりたいことができました
ありがとうございました

738 :デフォルトの名無しさん:2011/11/10(木) 07:18:22.66
>>737
DirectXからとると上手くいくはず
http://vision.kuee.kyoto-u.ac.jp/~nob/doc/csharp/csharp.pdf
PDFの最後のほうにそのままの例がある

739 :デフォルトの名無しさん:2011/11/10(木) 08:17:32.64
複数のファイル(100個〜1000個)を色々なクラス(とは言っても2,3クラス)から扱いたいんだけど
複数のファイルの管理専用クラスを作るのって、あり?それともやめといたほうがいい?
ファイルの状態を取得するために、ファイルの状態を別のファイルに書き込むんだけど


740 :デフォルトの名無しさん:2011/11/10(木) 09:26:51.10
読み手の気持ちになってみてくれ
まったく分からん!

741 :デフォルトの名無しさん:2011/11/10(木) 09:45:14.13
monthcalendarで、「20XX年XX月」の部分を押すと月一覧表示になるんですが、
この状態で固定したい場合どうしたらいいんでしょう…。

変更関連はマウスボタン押下時にクリックされた位置を取得して、イベントを握りつぶせば済むのですが、
monchcalendarの表示形式を設定するプロパティが見つかりません。
どなたかわかる人いましたらご助言願います…orz

742 :デフォルトの名無しさん:2011/11/10(木) 09:45:45.45
>>739
AbstractFactory的な感じかな?
もちろんいいと思いますよ

743 :デフォルトの名無しさん:2011/11/10(木) 16:01:59.93
コメントアウトを多用したからといって実行ファイルのサイズが大きくなるって事はないよね?

744 :デフォルトの名無しさん:2011/11/10(木) 16:19:49.09
コメントの有無で実行ファイルのサイズを比較してみりゃわかるだろwww

745 :デフォルトの名無しさん:2011/11/10(木) 16:40:56.59
ffmpegのフォーマットを調べようと思って、
ttp://jasonjano.wordpress.com/2010/02/09/a-simple-c-wrapper-for-ffmpeg/ (Running the ffMpeg Processの部分)
ここのコードを使ってみたんですが、Parameterに"-formats"を入れるとproc.WaitForExit();でとまってしまいます。
どうすれば止まらずに、出力を取得できるでしょうか。
ちなみに、 ("-i {0}", videoPath) はできます。

746 :デフォルトの名無しさん:2011/11/10(木) 17:27:20.45
>>738
どうもありがとうございます
DirextXは初めてですが、早速SDKダウンロードして試してみます

747 :デフォルトの名無しさん:2011/11/10(木) 20:07:40.09
いえいえ

748 :739:2011/11/10(木) 22:18:49.75
>>742
ありがとう。そうやってみる

List<>で多次元を作ろうと思って
List<Object> data = new List<Object>();
List<String> str1 = new List<String>();
List<String> str2 = new List<String>();
List<String> str3 = new List<String>();

data.Add(str1);
data.Add(str2);
data.Add(str3);
こうやったあとにdata変数を通してstr1〜str3にアクセスすることってできないの?
多次元配列みたいにアクセスしたいんだけど・・・

749 :デフォルトの名無しさん:2011/11/10(木) 22:22:34.74
webBrowserでiframeの中を見れますか?

750 :デフォルトの名無しさん:2011/11/10(木) 22:24:08.65
普通はframe要素.contentWindowでアクセスできると思う

751 :デフォルトの名無しさん:2011/11/10(木) 22:27:15.86
>>748
dataの型をList<Object>にしなきゃできるよ
何のためにやってるのか知らないけど

752 :デフォルトの名無しさん:2011/11/10(木) 22:28:44.83
>>748
スキな方選ぶんだ。
        
static void Main(string[] args)
        {
            List<List<string>> StrLists = new List<List<string>>();
            List<string> Strs1 = new List<string>();
            List<string> Strs2 = new List<string>();
            List<string> Strs3 = new List<string>();

            StrLists.Add(Strs1);
            StrLists.Add(Strs2);
            StrLists.Add(Strs3);

            StrLists[0][0] = "The String!";

            List<object> ObjLists = new List<object>();

            ObjLists.Add(Strs1);
            ObjLists.Add(Strs2);
            ObjLists.Add(Strs3);

            ((List<string>)ObjLists[0])[0] = "The String to Obj";

            return;
        }

753 :デフォルトの名無しさん:2011/11/10(木) 22:30:47.77
>>749
ブラウザが解析して表示されてるってことは
WebBrowser.Document
が解析結果を持ってる

後は調べてくれ

754 :デフォルトの名無しさん:2011/11/10(木) 22:31:14.18
VisualC#の勉強をしています。
参考書が1冊一通り読み終わったのですが、どうしても個々の機能のサンプルが小規模なので色々組み合わせた場合の使い方がよくわかりません
一通りの機能を抑えたプログラムを自作してみようと思うのですが、何かオススメはありますか?

755 :デフォルトの名無しさん:2011/11/10(木) 22:32:15.81
>>754
2ch専用ブラウザ

756 :794:2011/11/10(木) 22:36:31.61
>>748
実行してなくて実行したらバグってた。で、修正した。
ttp://ideone.com/XtJGr

757 :デフォルトの名無しさん:2011/11/10(木) 22:38:01.53
ついったークライアント

758 :デフォルトの名無しさん:2011/11/10(木) 22:38:27.55
なんかおかしなことに。。。

>>752 == >>756 == 自分だ

759 :デフォルトの名無しさん:2011/11/10(木) 22:38:41.06
>>755
2ch関係は避けたいのですがWebブラウザでも大丈夫ですか?

760 :デフォルトの名無しさん:2011/11/10(木) 22:41:33.81
>>754
プログラム始めたら大体ゲーム作って様子見る人が多いんじゃないかな。
テトリスとかぷよぷよとかコラムスとか。倉庫番とかライフゲームとかもあるね。

まー実用アプリが作りたいのなら分野が違うけど。

761 :デフォルトの名無しさん:2011/11/10(木) 22:42:01.30
>>759
広く浅く知識がいるのでC#の勉強にはもってこいかな?
こんなところもある
http://cs2ch.blog123.fc2.com/blog-entry-1.html

あとC#つっても
winformもしくはwpfでデスクトップアプリ
silverlightでFlashアプリみたいなのを作ったりWPアプリ作るっていうのもできるし
XNAもからめてゲームというのもあるし

762 :デフォルトの名無しさん:2011/11/10(木) 22:43:00.51
画像を読み込んで拡大縮小平行移動して960x800の枠で切り出すプログラム作ってくれ
使うから

763 :デフォルトの名無しさん:2011/11/10(木) 22:44:44.78
>>762
スレチだこのやろー。

764 :デフォルトの名無しさん:2011/11/10(木) 22:46:35.67
なんでや!ネタ提供しただけやろ!

765 :デフォルトの名無しさん:2011/11/10(木) 23:04:37.53
>>760,761
ありがとうございます
とりあえずWebブラウザ作ってみようと思います


766 :デフォルトの名無しさん:2011/11/10(木) 23:13:47.81
webBrowserが読み終わってから中身見ようとおもってDocumentCompletedつかってみたら、1ページ読むのに何回も呼び出されるんだけど、どういうこと?

767 :デフォルトの名無しさん:2011/11/10(木) 23:16:07.20
>>766
読み込んだhtmlのヘッダーのところに
CSSとかJavaScriptとか別ファイルになってない?
あとフレームとか

まさしくDocument単位でCompletedしたので呼ばれてるんだよ

完全に終わった場合はnavigated

768 :デフォルトの名無しさん:2011/11/10(木) 23:32:50.10
んー、どちらも同じ回数呼ばれるw
ファイルいっぱいだから仕方ないか


769 :デフォルトの名無しさん:2011/11/10(木) 23:34:58.20
>>768
どんなページなの?

770 :デフォルトの名無しさん:2011/11/11(金) 00:20:18.35
広告がいくつか貼りつけてあるページです
あとcssとかjavascriptとかもいくつか読み込んでる

771 :749:2011/11/11(金) 01:47:38.40
>>751,752,756
ありがとう。やりたいことできたよ

後ひとつ質問なんだけど、
ファイルに「ファイル名, ダウンロードURL, ダウンロードした日」を記述されているものを読みたいんだけど
どうすれば一番簡単なの?最初object型の2次元配列でやろうと思ったんだけど、インスタンス化すると範囲が決まっちゃうし・・・
構造体かクラス記述してインスタンス化していったほうが楽?

772 :デフォルトの名無しさん:2011/11/11(金) 02:09:16.11
>>771
C#のコレクションは参照型なのでデータを構造体などに記録してListに突っ込んで返却してもほぼ損失はない。かな。
パース処理するなら、なるべく一点でやりたいだろうし。

自分だったら、関数にファイル名を食わせてデータの入ったListを返却すると思う。複雑度によっては関数分割するけど。
記録する方式は自分のやりやすい方法で一回やってみるんだ。

773 :デフォルトの名無しさん:2011/11/11(金) 02:18:57.26
>>762
文脈を勘違いしていた。クレクレ君が単発したようにみえたんだ。
お詫びに出はなくて、暇だったからジョバンニしてみた。
回転はめんどくさいから作ってない。自分で作ってくれ。
ttp://www1.axfc.net/uploader/File/so/71441.zip&key=2ch

あーそうそう。使い方は自分で考えてくれ。・・・まさに外道!!

おれ、マニュアル見ない人だから、そういう作りだ!
ライセンスは決めてないが、コピペだけはやめてくれ。
あといかなる損失も保証の対象にならない。

あと、一ヶ月で消えるよ。んでは。

774 :デフォルトの名無しさん:2011/11/11(金) 04:27:46.38
>>738
これやってみましたがだめでした。
Graphics.CopyFromScreenと全く同じで透けてしまいます

775 :デフォルトの名無しさん:2011/11/11(金) 07:44:51.81
XPとかVista以降のDWMオフ状態ではグラボに各プログラムが直接描画してるからこんなわけわからんことになる
諦めてPrintScreenエミュレートするかXPを窓から投げ捨てろ

776 :デフォルトの名無しさん:2011/11/11(金) 09:42:02.32
class Test
{
string str1;
string str2;
static void Main()
{
string s = "QQQQ"; //Main@
Get(s);
Console.WriteLine(s);

Test obj1 = new Test();
obj1.str1 = "QQQQQ"; //MainA
Get(obj1);
Console.WriteLine(obj1.str1);
}
static void Get(string s)
{
s = "WWWW";
}
static void Get(Test obj1)
{
obj1.str1 = "WWWWW";
}
}
どうしてMain@は変更しないのにMainAは変更するの?
わかりやすく3行で教えてください。ggrksはorz

777 :デフォルトの名無しさん:2011/11/11(金) 10:03:22.64
stringは
内容が不変な参照型という特殊な型のため
値型のような挙動をする

3行だとここまで

778 :デフォルトの名無しさん:2011/11/11(金) 10:04:39.91
Get(s);

static void Get(string s)
{
s = "WWWW";
}
を呼び出したときの
string sは確かに
s = "WWWW";
が実行される前までは同じところ(つまり "QQQQ")を管理してるが
変数としてはまったく別物だぞ

それにC#のstringはC/C++のようにメモリの中身を書き換えるわけじゃない


779 :デフォルトの名無しさん:2011/11/11(金) 10:07:53.43
@メソッド内部で引数の参照先を変えても元の参照先は変わらない。変えたいなら参照渡し(refをつける)にすればいい。
A引数の参照先は渡されたTestクラス(参照型)のオブジェクトそのもの。なのでメンバーいじると実体のメンバーも変わる。
Testが値型(struct)だの場合はコピーが渡されるので実体は変わらない。

780 :デフォルトの名無しさん:2011/11/11(金) 10:09:29.40
>>777
それはこのケースにおいて一切関係ないだろ
Get(string)がGet(Test)だって、s = new Test()とやれば同じなんだから

メタファで説明するならこんな感じ?
一冊の本を一緒に見ようとMainが提案した
Main1はその本をスルーして別の本を見始めた Mainは元の本を見てる
Main2はその本のあるページに落書きした

781 :デフォルトの名無しさん:2011/11/11(金) 10:10:14.89
s = "WWWW"; は sの参照先の内容を書きかえるんじゃなくて
s = new string("WWWW"); 
つまり sの参照先を別のとこに変更するから。

さて、どの回答で分かるだろうか。

782 :デフォルトの名無しさん:2011/11/11(金) 10:13:14.36
あとstatic void Get(string s)のsはネーミング変えてくれw
呼び出したところで渡した変数と挿してる場所は同じでも
まったく別物だから
あくまで呼び出し元が持ってる参照のコピーを持ってるだけなんで

783 :デフォルトの名無しさん:2011/11/11(金) 10:16:27.35
>>780
完全な参照型である、Cの文字列ポインタなら中見が書き換わるんだぜ
@が書き換わらないのはstringが特殊な変数だからでしょ

784 :デフォルトの名無しさん:2011/11/11(金) 10:18:05.17
このくらいの短いコードならhtmlエンコードすれば・・(専ブラでアンカ・・っていうのは除いて)

    class Test
    {
        string str1;
        string str2;
        static void Main()
        {
            string s = "QQQQ";           //Main@
            Get(s);
            Console.WriteLine(s);

            Test obj1 = new Test();
            obj1.str1 = "QQQQQ";        //MainA
            Get(obj1);
            Console.WriteLine(obj1.str1);
        }
        static void Get(string ss)
        {
            ss = "WWWW";
        }
        static void Get(Test obj1)
        {
            obj1.str1 = "WWWWW";
        }
    }

785 :デフォルトの名無しさん:2011/11/11(金) 10:21:02.18
>>783
なに言ってんだこいつ

786 :781:2011/11/11(金) 10:26:35.65
unsafeなら参照先の書き換えもいける
unsafe static void Get(string s)
{
fixed (char* p = s)
{
p[0] = 'W';
}
}

787 :デフォルトの名無しさん:2011/11/11(金) 10:27:44.14
>>783
Cだって>>776みたいなコード書けばC#と同じ動作になる

788 :デフォルトの名無しさん:2011/11/11(金) 10:27:49.30
>>786
余計なこと教えんな

基本がわかってないような人に

789 :デフォルトの名無しさん:2011/11/11(金) 10:30:02.99
>>787
そうそう
呼び出し元の情報を変更したければそれなりの手続きがいる
基本的に関数(オブジェクト指向の場合はメンバ関数とかメソッドと言ってる)に渡すときは
コピーが渡される


790 :デフォルトの名無しさん:2011/11/11(金) 10:32:54.19
参照型を値渡ししたものの参照先は変更できないよ、でいいんじゃね?

参照型の値渡し=住所を教えられたよ
@→住所が描いてある紙を書き換えても、元の住所が変わる訳じゃないよ
A→住所にしたがってその家に行って家の部品を交換したよ

791 :デフォルトの名無しさん:2011/11/11(金) 10:36:20.32
>>753
わからない
助けて

792 :デフォルトの名無しさん:2011/11/11(金) 10:36:50.61
>>788
値のコピーじゃないことは分かるだろう?

793 :デフォルトの名無しさん:2011/11/11(金) 10:52:26.75
str=str+"a";

左辺のstrと右辺のstrは別のメモリアドレスを参照している別物
string型は常に自分のコピーを作る

794 :デフォルトの名無しさん:2011/11/11(金) 10:54:02.21
>>776の質問をよく読めよ
string型が不変とか関係ないから


795 :デフォルトの名無しさん:2011/11/11(金) 10:57:32.69
>>791
vs2010にしてから重いのであんまり起動したくないんだがしばしまて

796 :デフォルトの名無しさん:2011/11/11(金) 11:05:58.38
>>791
ヒント
http://www.dotup.org/uploda/www.dotup.org2247625.png

つーかhtmlタグの知識なければまず無理だから

797 :デフォルトの名無しさん:2011/11/11(金) 11:18:37.96
わからなければ

798 :デフォルトの名無しさん:2011/11/11(金) 11:47:51.64
>>770
http://ideone.com/steVs
このスレだと
Navigating 4
Navigated 3
DocumentCompleted 1
って感じだな


799 :デフォルトの名無しさん:2011/11/11(金) 12:00:48.10
if (KusariPosition.Count > 10)
{
  if (tempCollisionRectangles.Count == 0)
  {

   tempCollisionRectangles.Add(new Rectangle(0, 0, 16, 16));
   tempCollisionRectangles.Add(new Rectangle(16, 16, 16, 16));
  }
  foreach (Rectangle r in tempCollisionRectangles)
  {
   CollisionRectangles.Add(r);
  }
}
else
{
 foreach (Rectangle r in tempCollisionRectangles)
  {
   CollisionRectangles.Remove(r);
  }

}

これで KusariPosition.Count <= 10 になったときに
CollisionRectangles.Remove(r); がリムーブしてくれないんだけど、どうすりゃいい?

800 :デフォルトの名無しさん:2011/11/11(金) 12:05:29.19
tempCollisionRectanglesで管理してるRectangleと
CollisionRectanglesで持ってるRectangleで一致するものがないんじゃないの?

801 :デフォルトの名無しさん:2011/11/11(金) 12:06:49.35
つーかお前この間質問してたときに言われてたろ
構造体は作り直しになるって

802 :デフォルトの名無しさん:2011/11/11(金) 12:12:57.15
>構造体は作り直しになるって

それは場合によりけり

803 :デフォルトの名無しさん:2011/11/11(金) 12:14:55.29
>>802
でも実際にヒットしてないんだから作り直しが行われたんだが
片方しか更新してないからじゃないの?

まあRectangleなんてオブジェクトの要素の一つなんだからクラスの中に入れておけばいいのに

804 :デフォルトの名無しさん:2011/11/11(金) 12:27:23.00
和集合と差集合を使ったらできました
ども

805 :デフォルトの名無しさん:2011/11/11(金) 12:29:01.77
意味がわからんwww

806 :デフォルトの名無しさん:2011/11/11(金) 12:35:29.99
集合云々の場合はポインタ渡してるだけだから
CollisionRectangles.Remove(r);
で除外できるって話だろ

807 :デフォルトの名無しさん:2011/11/11(金) 12:43:49.21
>>806
それも意味がわからんww

808 :デフォルトの名無しさん:2011/11/11(金) 13:40:27.91
下記のようなコードで、戻り値のbmpは破棄Disposeしなくてかまいませんか?
usingを使うと、呼び出し元に戻った時にnullとなってしまいます。破棄しなけれ
ば意図通り動いていますが、ちょっと不安なもので。

public static Bitmap bitmapfunction()
{
Bitmap bmp=new Bitmap(1000,1000);
// いろいろbmpを加工する
return bmp;
}

809 :デフォルトの名無しさん:2011/11/11(金) 13:54:18.21
bitmapfunction()の戻りを利用するプログラム側の話?
bitmapfunction()の中の話?

810 :808:2011/11/11(金) 14:15:36.76
戻りを利用するほうでは使い終わったら破棄しています。
質問したのはbitmapfunction()の中での話です。ほおっておけばGCが処理すること
はわかっていますが、大量に並列処理するためちゃんと破棄しないとあふれてしま
います。

実は私は693で、>>693のアドバイスにしたがって、クラスの中でちゃんとDiposeしようと
みなおしているなかで今回の疑問になったという経緯です。

811 :デフォルトの名無しさん:2011/11/11(金) 14:34:47.30
>>808のような戻してあげるデータとして作った物をDisposeしちゃうと
自分で書いてるように折角作ったデータを破棄しちゃうのでnullになって
なんのための関数かわからなくなるよね

そういう関数からもらったデータはもらった側で破棄するとか管理するしかないね
それかGC任せか

関数の中だけで使用して関数を呼び出したところに戻って使わないような
データはDisposeするのが望ましいけどね


812 :808:2011/11/11(金) 15:15:43.15
なるほどですね、ありがとうございました。
だいたいイメージがつかめたように思います

813 :デフォルトの名無しさん:2011/11/11(金) 18:15:52.97
factoryが生成したオブジェクトを勝手にDisposeするなんて斬新じゃん

814 :デフォルトの名無しさん:2011/11/11(金) 18:18:26.90
呼び出し元で bitmapfunction を usingで使えるようにすればいいのに。

815 :デフォルトの名無しさん:2011/11/11(金) 20:29:19.13
>>776です。
わかりやすい返答ありがとうございます
Main@が変わらずMainAが変わる理由がわかりました
>>790>>780>>779>>778>>781の順で読んだら理解できました。

816 :デフォルトの名無しさん:2011/11/11(金) 20:35:04.32
http://a.com/a.jpg
http://a.com/a.jpg
http://a.com/a.jpg

817 :デフォルトの名無しさん:2011/11/11(金) 21:28:37.50
ここの回答者陣は説明下手。
教える気無いか意地が悪いのか、
わざと分かりにくい説明を平気でする。

818 :デフォルトの名無しさん:2011/11/11(金) 21:37:27.79
字数制限のある掲示板で文字だけで完璧に説明しろっていうのが無茶だよ

819 :デフォルトの名無しさん:2011/11/11(金) 22:28:21.45
>>817
貴方は、原稿用紙2枚程度で1から100を教えれる鉄人なんですね。わかります。

820 :デフォルトの名無しさん:2011/11/11(金) 22:32:43.32
一番いいのがリモートでここをこうすればいいよって説明できるといいんだよな
会社とかでも教える時ってそういう感じだしな・・・

後は絵チャみたいなので絵を書いて説明とかさ

レベルの合わない人向けに作文書いて説明しろっていうのがなあ

仕事じゃないだし

821 :デフォルトの名無しさん:2011/11/11(金) 22:36:39.64
ソース出して質問してくれるととても楽なんだけどね

822 :デフォルトの名無しさん:2011/11/11(金) 22:41:58.22
>>821
せめてどこで詰まってるかのコード片をうまく混ぜてほしいよね。
そしたらぐっと回答範囲が狭まるんだが。

質問者の視野はあんまり広くないけど、回答者は様々な人と相手してるから視野の向きが違うんだよな。
で、変な回答したら、「お前らは大したことない」とか言い出す。
話を引き出すのも技術なのに。

823 :デフォルトの名無しさん:2011/11/11(金) 22:45:22.22
それも自分は回答してないのにそういう発言をしたりするからもう・・・

824 :デフォルトの名無しさん:2011/11/11(金) 22:48:28.52
>>823
だからID欲しいんだよ
そういう単発君を排除したいんだが・・・

825 :デフォルトの名無しさん:2011/11/11(金) 23:05:50.79
VS2010 です
別のファイルのクラスを呼び出すのがどうしてもできないんですが
どうすればいいでしょうか?

それと Program.cs 以外のファイルのメインルーチンをデバッグって
できますか?

826 :デフォルトの名無しさん:2011/11/11(金) 23:09:17.35
アクセス可能な範囲にあれば(分かりにくい表現)

827 :デフォルトの名無しさん:2011/11/11(金) 23:10:20.49
>>825
参照設定

828 :デフォルトの名無しさん:2011/11/11(金) 23:10:53.96
>>825
そこまでのレベルだと、入門書を最初から読みやがれとしか言いようがありません
多分最初の2,30ページ読めば解決できると思います

829 :デフォルトの名無しさん:2011/11/11(金) 23:11:10.15
>>825
申し訳ないが初歩的すぎて何が分からないのか想像できない

830 :デフォルトの名無しさん:2011/11/11(金) 23:45:47.15
ネームスペースが違うんだろ!!!!!!!!!!!!!!!!

831 :デフォルトの名無しさん:2011/11/11(金) 23:51:07.97
>>825なんかもそうだけどどれどれ・・とIDE見れば5分かかるかどうかの無いようだよね
あれこれ頭使って想像しないといけないんだよなw可能性を



832 :デフォルトの名無しさん:2011/11/11(金) 23:51:19.83
多分クラスをインスタンス化してパブリックメソッドを呼び出すまで至っていないんだろうな

833 :デフォルトの名無しさん:2011/11/11(金) 23:52:51.45
状態遷移図シミュレーターや二分木探索くらいはC#
でも作れるのですが・・・

834 :デフォルトの名無しさん:2011/11/11(金) 23:56:43.74
いつも>>1のテンプレを根拠にお馬鹿質問を擁護する奴が一人も出てこないところを見ると、
恐らく今日は叩く側に回ってるんだろうなw

仕切りたがる奴って本当一貫性がないご都合主義だよな。だから嫌いなんだよね。

835 :デフォルトの名無しさん:2011/11/11(金) 23:59:09.00
>>2のサイトを使って可能な限りのうまくいかないソースを晒す
これが鉄則かなあ・・・

素人が何もしてないのにおかしくなったっていうのと同じで
余計なことやってるかやることやってないからうまくいかないんだから
自分で対処できるまではさらけ出してみてもらうしかない

学校とか会社なら先輩読んでその場でアドバイス貰えるが
ここは文字だけでやり取りするんだし

836 :デフォルトの名無しさん:2011/11/11(金) 23:59:37.67
>>834
いつも同じ人が常駐してると思わない方がw

837 :デフォルトの名無しさん:2011/11/12(土) 00:02:03.16
ソリューション exp からclass をadd したので
前者はできると思います

838 :デフォルトの名無しさん:2011/11/12(土) 00:04:43.55
出来ました
デバッグも Main1() と名前をつけて呼び出せばいいので
2つとも出来たようです ありがとうございました

839 :デフォルトの名無しさん:2011/11/12(土) 00:05:16.80
ソリューションエクスプローラが出てきたってことは前者も別プロジェクトかい
ぜーんぜん伝わってないよお前
よく生きてこれたな

840 :デフォルトの名無しさん:2011/11/12(土) 00:06:39.47
名前からしてMainが複数あるようだな・・・


ん?

841 :デフォルトの名無しさん:2011/11/12(土) 00:07:35.50
斬新

842 :デフォルトの名無しさん:2011/11/12(土) 00:19:08.35
金曜日だというのにお前ら根暗だね

843 :デフォルトの名無しさん:2011/11/12(土) 00:23:13.58
ずいぶん西に住んでるな

844 :デフォルトの名無しさん:2011/11/12(土) 00:24:56.24
project right click で add なので
project 数は変わってません。1です

845 :デフォルトの名無しさん:2011/11/12(土) 00:25:08.14
>>842
こっちもすんなり答えたいけど質問の仕方が中途半端でまともに答えられなくて
それに対して捨て台詞はき捨てられるとスレが暗くなるよね

誰が悪いと思う?

846 :825:2011/11/12(土) 00:26:56.70
>>834
>>842
は私でなありません

847 :デフォルトの名無しさん:2011/11/12(土) 00:26:58.85
その微妙に電波が流れてる感じの書き込みもいいよ
リアルで

分かち書きになったのか?日本も

848 :デフォルトの名無しさん:2011/11/12(土) 00:27:50.28
>>846
大丈夫
わかってる

849 :デフォルトの名無しさん:2011/11/12(土) 01:29:50.56
ここの奴ら雑談しかしないんだな
ハテナで質問してくるわ
役立たず死ね

850 :デフォルトの名無しさん:2011/11/12(土) 02:14:05.68
おう死んだるで
せいぜいお達者でな

851 :デフォルトの名無しさん:2011/11/12(土) 02:14:42.70
こんなとこ荒らしてどうすんだか

852 :デフォルトの名無しさん:2011/11/12(土) 13:16:52.26
あるクラス変数で、参照が変わらないまま参照先だけ変えることはできるんですか?
b->B, a->A の状態を
a->A, a->B にしたいんですが

853 :デフォルトの名無しさん:2011/11/12(土) 13:20:52.46
>>852
意味がわからない
無理に一般的な言葉使わなくていいから何がしたいのか具体的に

854 :デフォルトの名無しさん:2011/11/12(土) 13:21:00.20
小文字bが消えたんなら参照変わってんじゃねえの

855 :デフォルトの名無しさん:2011/11/12(土) 13:21:50.86
本当にC#だろうな
C++じゃないよな

856 :デフォルトの名無しさん:2011/11/12(土) 13:22:26.14
一番具体的なのはコードを提示することです

857 :デフォルトの名無しさん:2011/11/12(土) 13:34:25.56
よく判らんが「インスタンスの参照は普通にコピーできます」で良いのかな?

858 :デフォルトの名無しさん:2011/11/12(土) 13:38:54.09
>>852
AとBに同じインターフェースを設ける

859 :デフォルトの名無しさん:2011/11/12(土) 13:46:39.14
//Main
....
clone1 = father1.duplicate1();
clone2 = mother1.duplicate1();
father1.reproduce();
return;

}

public int reproduce(class1 mother,class1 child1,class2 child2)
{//class1のmethod
clone1 = this.duplicate2();
clone2 = mother.duplicate2();
return 0;
}


Mainのclone1, clone2の参照先がreturn のときに
duplicate2() を受けたものにしたいんです

860 :デフォルトの名無しさん:2011/11/12(土) 13:48:49.44
まさかコードが出てきて>>852より意味不明だとは思わなかった

861 :訂正:2011/11/12(土) 13:51:43.09
//メイン、 father1とfather2は class1のインスタンス
....
class1 cloneA = father1.duplicate1();
class1 cloneB = mother1.duplicate1();
father1.reproduce(mother1, cloneA, cloneB);
return;

}

public int reproduce(class1 mother,class1 cloneA,class1 cloneB)
{//class1のmethod
cloneA = this.duplicate2();
cloneB = mother.duplicate2();
return 0;
}


MainのcloneA, cloneBの参照先がreproduceから戻ってきたあとに
duplicate1()ではなく、 duplicate2() を受けたものにしたいんです


862 :デフォルトの名無しさん:2011/11/12(土) 13:54:33.07
あーはいはいはい

public int reproduce(class1 mother,class1 cloneA,class1 cloneB)

のcloneAとcloneBをrefにすればいい
詳しくは検索しろ

863 :デフォルトの名無しさん:2011/11/12(土) 13:55:56.14
refですぐ解決するが、実際にモノ作るならクラス作ってまとめて戻り値として返す一択

864 :デフォルトの名無しさん:2011/11/12(土) 13:56:44.46
まだそれはいい
この質問者はまだそんなレベルじゃない

865 :デフォルトの名無しさん:2011/11/12(土) 14:13:29.23
たぶん相談室に書いてた人だよね?
http://hibari.2ch.net/test/read.cgi/tech/1316703574/566

だったらその後にも、レス付いてたよ。

866 :デフォルトの名無しさん:2011/11/12(土) 22:03:05.37
うん

867 :デフォルトの名無しさん:2011/11/12(土) 22:10:45.67
>>864
お前が解答できるレベルなのかも怪しいけどなw

868 :デフォルトの名無しさん:2011/11/12(土) 22:26:13.89
チェックボックスがcheakedになっている間は、指定時間ごとに
同じ処理を繰り返し実行するというプログラムはどう書けばよいですか?

869 :デフォルトの名無しさん:2011/11/12(土) 22:30:23.47
Check状態変更イベントでタイマーの有効無効切り替えればいいじゃないですか

870 :デフォルトの名無しさん:2011/11/12(土) 22:41:25.68
タイマーは動かしっぱなしにして
タイマーイベント内でCheckedプロパティ見てもいいけど、WinFormsのTimer以外ではやらないでね

871 :デフォルトの名無しさん:2011/11/13(日) 01:52:59.84
WebBrowserコントロールでjavascriptを無効にしたいのですがどうすればいいですか?

872 :デフォルトの名無しさん:2011/11/13(日) 02:04:31.86
http://pinvoke.net/default.aspx/Interfaces/IInternetSecurityManager.html
あまり小器用なマネは出来ません

873 :デフォルトの名無しさん:2011/11/13(日) 02:12:23.73
ローカルプロキシを挟んでscriptタグを抜く

874 :デフォルトの名無しさん:2011/11/13(日) 02:17:36.11
>>872
そんなことしなくても
>>798のコードでNavigatingイベントで1回目はhtmlだけどその後は
htmlヘッダーに書かれてるjsとかの解析に入るのでキャンセルすればいいだけかも
でもhtml内部に埋め込まれてるjsはどうなるかわからんw

875 :デフォルトの名無しさん:2011/11/13(日) 02:18:53.08
872の実装例
http://codezine.jp/article/detail/246?p=2

876 :871:2011/11/13(日) 03:33:02.23
意外と難しいんですね。勉強してみます。。。

877 :デフォルトの名無しさん:2011/11/13(日) 11:23:14.33
>>863
一択なん?
1ファイルに1クラスしか定義しないことなんて規約だと面倒だよね。
privateメソッドなら匿名クラス使ってもインテリセンス効いたっけか?

878 :デフォルトの名無しさん:2011/11/13(日) 11:58:57.00
>>871
scriptタグを抜けばいい

>>873みたいにローカルプロキシでもいいんだが、そういった機能が付いているプロキシがあるのかは知らん。
タグを指定して取り除けるようなプロキシがあるならオレも欲しい

実装するなら
1.リクエストを投げる WebRequest
2.レスポンスを受ける WebResponse
3.正規表現かなんかでタグを抜くscript,linkとか
4.webbrowserに食わせる WebBrowser.DocumentText


879 :デフォルトの名無しさん:2011/11/13(日) 12:10:53.04
scriptタグ抜くだけならCSSのexpressionとか<a onclick="〜">とか<a href="javascript:〜">とかあるから不十分

880 :デフォルトの名無しさん:2011/11/13(日) 12:16:10.56
一応解決策としてライブラリがあるが試してないから詳細は不明
http://msdn.microsoft.com/en-us/library/aa973813.aspx

881 :デフォルトの名無しさん:2011/11/13(日) 13:07:21.55
同値比較?で==が使えない代表的なクラスって何がありますか?

882 :デフォルトの名無しさん:2011/11/13(日) 13:12:26.35
class Program
{
static void Main()
{
Test obj = new Test();
Console.WriteLine(obj.GetA); //Main@
Console.WriteLine(obj.GetB()); //MainA
}
}
class Test
{
private string str1;
public string GetA
{
get
{
this.str1 = "AAA";
return this.str1;
}
}
public string GetB()
{
this.str1 = "AAA";
return this.str1;
}
}
Main@とMainAは同じ処理をしているのですが、どちらを使うのが正しいのですか?
好みの問題ですか?

883 :デフォルトの名無しさん:2011/11/13(日) 13:22:33.57
Getは動詞、メソッド名は動詞から始まるようにするのがわかりやすい
プロパティ名は逆に動詞をつけない方が自然
obj.A
obj.GetB()

884 :デフォルトの名無しさん:2011/11/13(日) 13:23:38.71
>>881
基本的に全部
Stringのように特にことわりが無い限り

885 :デフォルトの名無しさん:2011/11/13(日) 13:24:03.20
>>881
そんな明らかな地雷を放置したりしないよ普通
Javaじゃないんだから

886 :デフォルトの名無しさん:2011/11/13(日) 13:29:35.08
>>885
いくらでもあるぞ
たとえばXNameは==使えるけどXElementなんか値に近いのに==使えないよ
変更可能や継承が可能な参照型は原則として==を実装してはいけない

887 :デフォルトの名無しさん:2011/11/13(日) 13:34:08.65
プリミティブ型以外は==使わないのが俺的常識

888 :デフォルトの名無しさん:2011/11/13(日) 13:35:29.91
>>886
悪いがXElementが値には見えないし、==で比較しようと思わないな
まあ心配ならop_Equalityの有無をMSDNで確認すれば済む話

889 :デフォルトの名無しさん:2011/11/13(日) 14:47:12.93
Content-Encoding: gzip のHTTPパケットのデータをC#で解凍する方法を教えて下さい

890 :デフォルトの名無しさん:2011/11/13(日) 14:51:44.29
GZipStreamあたり

891 :デフォルトの名無しさん:2011/11/13(日) 16:24:48.01
HttpWebRequest req;
・・略・・
req.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;

これだけ

892 :デフォルトの名無しさん:2011/11/13(日) 16:49:04.38
解凍できねえ・・・orz

わけあってHttpWebRequest使えません

893 :デフォルトの名無しさん:2011/11/13(日) 16:51:35.99
>>890を試しても駄目なら本当にgzipか疑った方がいいな

894 :デフォルトの名無しさん:2011/11/13(日) 17:01:28.53
javaのメソッドをfinal修飾するのをc#だとどうやるの?

895 :デフォルトの名無しさん:2011/11/13(日) 17:05:05.61
C#はデフォルトでfinal相当だから書かなくていい
既定のvirtualメソッドはsealed override

896 :デフォルトの名無しさん:2011/11/13(日) 19:42:53.72
>>892どういうわけ?

897 :デフォルトの名無しさん:2011/11/13(日) 19:54:40.67
そんなこと貴様には関係ない

898 :デフォルトの名無しさん:2011/11/13(日) 19:58:26.61
パケットって言ってるのでお察し

899 :デフォルトの名無しさん:2011/11/13(日) 21:29:14.08
byte[]

900 :デフォルトの名無しさん:2011/11/13(日) 23:52:12.39
VistaやWin7でWindowsアップデートで自動で入るのは
.Net Framework 3.5まで?

4.0ClientProfileでビルドするとクライアントはインストールしないと無理かな?

901 :デフォルトの名無しさん:2011/11/14(月) 00:28:39.62
ウチの 7 には開発環境入ってないけど、.net4 も入ってるようだが。

902 :デフォルトの名無しさん:2011/11/14(月) 00:31:34.00
Vistaが3.0で7が3.5
WindowsUpdateが自動で新しいバージョン入れることはないはず
メーカーが入れてることは割とある

903 :デフォルトの名無しさん:2011/11/14(月) 00:39:32.70
>>900
「○個の重要な更新プログラムが利用可能です」って青文字で出てる所クリックして、そこに.net4があれば、選んだ次から自動でアップデートしてくれるようになる。

904 :デフォルトの名無しさん:2011/11/14(月) 01:19:51.29
>>902
3.5にしておくのが無難っぽいですね、ありがとうございます

905 :デフォルトの名無しさん:2011/11/14(月) 09:52:13.56
4.0だと幸せになれる場面もあるけど
そういうこと気にしないなら3.5(==2.0)でいいんじゃね

906 :デフォルトの名無しさん:2011/11/14(月) 12:38:22.98
List<string>.Contains(string)
この場合うまくいくけど
List<CustomClass>.Contains(new CustomClass)
これだと全く別物と判断するね
こういうことしたい場合みんなどうしてる?

907 :デフォルトの名無しさん:2011/11/14(月) 12:46:09.82
Exists/Any使う

908 :デフォルトの名無しさん:2011/11/14(月) 18:50:16.87
3.5(==2.0)ってどういうこと?

909 :デフォルトの名無しさん:2011/11/14(月) 18:56:17.62
CLRのバージョンは3.5でも2.0のまま

910 :デフォルトの名無しさん:2011/11/14(月) 18:59:06.10
>>908
CLRに変更はないってことじゃないの?
3.5で提供されたのはあくまでCLRを変更しない上位のレイヤーだけってことで

911 :デフォルトの名無しさん:2011/11/14(月) 18:59:58.07
ちょっと上のレス見なかったらFalseって言うところだった

912 :デフォルトの名無しさん:2011/11/14(月) 19:05:07.10
1==2みたいだな

913 :デフォルトの名無しさん:2011/11/14(月) 19:21:13.78
CLRに変更はない・・・ということは3.5をターゲットにして作っても2.0環境で動作する?自動プロパティつかえるじゃん

914 :デフォルトの名無しさん:2011/11/14(月) 19:23:04.20
C#と.NETの機能は区別つけたほうがええねん

915 :デフォルトの名無しさん:2011/11/14(月) 19:24:32.70
自動プロパティや匿名型や型推論は使えるけど
LINQは自分でインフラ用意しない限り使えない

916 :デフォルトの名無しさん:2011/11/14(月) 19:25:55.78
>>913
CLRに手を入れるっていうのはCなんかでいうところにC99になったとかそういう話で
CLRに手を入れない場合はSTLなどが増えただけってところだからなあ・・・

917 :デフォルトの名無しさん:2011/11/14(月) 22:52:45.41
VSのGC効きすぎないか?
最小化してちょっとネットで調べものして戻ったら
復帰するまですごく時間がかかる
HDD痛めそうだわ

918 :デフォルトの名無しさん:2011/11/14(月) 22:54:08.16
つ SSD
VS2008までは問題なかったがVS2010になるとSSDないときつい

919 :デフォルトの名無しさん:2011/11/14(月) 22:54:31.78
GC、最小化、HDD
どれ一つ結びついてない気がするんだけど....

920 :デフォルトの名無しさん:2011/11/14(月) 22:58:25.28
メモリ64GBセットが発売されるご時世にスワップとはねえ

921 :デフォルトの名無しさん:2011/11/14(月) 22:59:08.48
っ メモリ増強

922 :921:2011/11/14(月) 22:59:33.56
おっとかぶった。

923 :デフォルトの名無しさん:2011/11/14(月) 23:44:08.61
夫がぶった><;

924 :デフォルトの名無しさん:2011/11/14(月) 23:46:31.61
x86だから効果がないんじゃない。

925 :デフォルトの名無しさん:2011/11/14(月) 23:53:49.17
まだx1です><;

926 :デフォルトの名無しさん:2011/11/15(火) 01:38:02.93
空きメモリが十分あるのに
最小化しているとGCされて?
開くときにまたHDDから読み直すんですよ

927 :デフォルトの名無しさん:2011/11/15(火) 01:38:40.68
だからGC関係ねえだろ

928 :デフォルトの名無しさん:2011/11/15(火) 01:41:08.71
GCはメモリの解放機構であってmHDD上のページファイルにメモリの中身を退避する機構じゃない
それはページングだ

929 :デフォルトの名無しさん:2011/11/15(火) 01:43:43.74
だから解放されて、また一からインテリセンスとかコードとか
いろいろ読み直しているって言っているのよ
わからないのかなー

930 :デフォルトの名無しさん:2011/11/15(火) 01:45:13.17
それはVSが明示的にやってるんだからやはりGCとは無関係

931 :デフォルトの名無しさん:2011/11/15(火) 01:48:21.11
GC言い出したのはお前じゃん
分かってないのは自分の癖にどの面下げて物申してんのお前

932 :デフォルトの名無しさん:2011/11/15(火) 02:02:55.55
知ってる単語を並べただけの初心者をあんまり責めんなよ。

933 :デフォルトの名無しさん:2011/11/15(火) 02:41:58.25
煽られました
覚悟しておいてくださいね

934 :デフォルトの名無しさん:2011/11/15(火) 03:17:37.39
わからないのかなー()

935 :デフォルトの名無しさん:2011/11/15(火) 08:57:08.27
次はインテリセンス弱参照で持ってるとでも言いますか?

936 :デフォルトの名無しさん:2011/11/15(火) 09:01:24.09
それくらいにしてやれよ

937 :デフォルトの名無しさん:2011/11/15(火) 09:05:52.61
お前ら超絶バカだから煽るしか能がないんだな

938 :デフォルトの名無しさん:2011/11/15(火) 10:13:44.42
>>937
>>937
煽るしか能がない君は超絶バカなんだね

939 :デフォルトの名無しさん:2011/11/15(火) 10:31:04.07
>>938
だね

940 :デフォルトの名無しさん:2011/11/15(火) 12:00:50.87
うん

941 :デフォルトの名無しさん:2011/11/15(火) 16:03:05.50
一行で解り易い自己紹介してくれたな

942 :デフォルトの名無しさん:2011/11/15(火) 16:38:33.46
こういう簡潔な自己紹介を見習って面接に励めればよかった

943 :デフォルトの名無しさん:2011/11/15(火) 18:15:36.02
間抜けが頑張っても滑稽な間抜けになるだけだぞ

944 :デフォルトの名無しさん:2011/11/15(火) 20:22:52.51
自己紹介の練習はスレ違い

945 :デフォルトの名無しさん:2011/11/15(火) 22:18:16.31
char[][] test の中から’a’の数と場所を調べるメソッドなり方法を頼む

946 :デフォルトの名無しさん:2011/11/15(火) 22:36:09.81
test.SelectMany((a, i)=>a.Select((c, j)=>new {i=i,j=j,value=c}).Where(e=>e.value=='a'))って感じ?

947 :デフォルトの名無しさん:2011/11/16(水) 00:52:23.65
お前ら頭良いな
Winアプリ発売しようとしたけど何かコード解析されたりバグで訴えられそうで怖くて躊躇してる

948 :デフォルトの名無しさん:2011/11/16(水) 00:53:59.54
コード丸見えだからな
C#のシェアウェアなんてありえんわw

949 :デフォルトの名無しさん:2011/11/16(水) 01:00:24.53
いや本当にID必要だろうこれ
どこに要請したらいいんだ

950 :デフォルトの名無しさん:2011/11/16(水) 01:03:32.22
>>949
ないんじゃね?
2chの運営ってアホな機能増やすことには必死だけど
こういうのは完全放置なんだよな

951 :デフォルトの名無しさん:2011/11/16(水) 02:06:09.06
多数の遅くなるという主張        → そんなことはない、証拠をだせ
実際に体験したんだけど         → オカルトだ
実際にVM Wareでの計測値を提示     → 具体的なことを言わず、ただ 「仮想環境のオーバーヘッドだ」
(Core2Quad Q8400 / 8GB / 7200rpm HDD @ VMware Workstation 7.11で、28→35SECに、メモリーも113→119MB))
ネイティブとVMwareのHDのベンチではあまり変わっていない(結果も示す) → 理由を示さない反論「ボトルネックになっているみたいだけど。」
実際に仮想環境でなくPCに直接入れて起動計測し、1割の遅延を確認  → 「ブートが2秒遅くなる(実際は10%遅くなっている。軽く見せる印象操作)」、
(Core2Quad Q8400 2.66G /DDR2-800 8GB / 500GD 7200rpm HDDで、15.1→16.9(+10%)SECに、メモリも107→115MB、レジストリ13→15.8MB)

結局、遅くならないという主張をしている奴は印象操作や人格攻撃、問題のすり替えを行い、遅くならないという事実を提示できない。

結論
 >>2の 「遅くならない」と言っていたのは 「嘘」 。
少なくとも起動は10%は確実に遅くなる。その他は不明だが、余計なコードがある以上、程度の差はあれ遅くならないとは考えられない。

当初のPCであれば、間違いなくもっと遅かっただろうし、またその回避は不可能ではなかった。
(起動後遅延起動、専用レジストリに設定情報を入れる等)
最低言えることは当時のユーザの現実を無視し、独善的で硬直化したタコな設計である

参考資料(古いデータだが上記の測定結果と”整合性”有り)
http://gigazine.net/news/20060911_system_delay/(http://thepcspy.com/read/what_slows_windows_down/の引用)
「何のソフトを入れているとWindowsが重くなるのかリスト」
 11位:.NET Framework Runtime2.0(8.89%)
 25位:Java Runtime 1.5.0.06(4.00%)
(XPSP2a Pro (rel1) onto a Microsoft VirtualPC 4 (sp1) VM)
Software        MeanBootTime(s)  SystemDelay(s)  SystemDelay(%)
 .NET Framework2 .0   81.67        6.67      8.89
 Control(none)      75.00          0.00     0.00
 JavaRuntime1.5.0.06    78.00         3.00     4.00

952 :デフォルトの名無しさん:2011/11/16(水) 02:07:03.18
http://hibari.2ch.net/test/read.cgi/software/1290536941/438

953 :デフォルトの名無しさん:2011/11/16(水) 03:13:42.95
>>949-950
完全放置で10年経過してるのにgdgd言い続けてる方がよほどアホだろ
どこまで夢想を続けるんだろうな
どこまで頭が足りないんだろうな
いつまで要請がどうとかいい続けるのかな
2021年になっても言ってるのかな

954 :デフォルトの名無しさん:2011/11/16(水) 04:05:05.76
ソースを解読されない簡単な方法を教えてください
UIをC#で書いて、重要な部分をWin32.DLLで作れば良いでしょうか?

955 :デフォルトの名無しさん:2011/11/16(水) 04:10:35.43
>>954
書くのをやめる。次点で冗長な処理を入れる。

956 :デフォルトの名無しさん:2011/11/16(水) 05:04:01.70
>>954
本体を暗号化
実行時にメモリに直接解凍

957 :デフォルトの名無しさん:2011/11/16(水) 08:29:58.95
読むのが馬鹿らしい内容にする

958 :デフォルトの名無しさん:2011/11/16(水) 08:30:27.90
>>949-950
プログラマならIPぐらい簡単に抜けるだろ、ってことじゃね?

959 :デフォルトの名無しさん:2011/11/16(水) 08:35:36.09
なぜIDが必要なのか理解できん

960 :デフォルトの名無しさん:2011/11/16(水) 08:51:00.48
>>959
お前の頭が悪いから

961 :デフォルトの名無しさん:2011/11/16(水) 09:08:02.03
お前とリアルであってみたいわ
どうせ面と向かっては何一つえらそうなこと言えないんだろ
目も合わしてくれ無さそう

962 :デフォルトの名無しさん:2011/11/16(水) 10:05:44.35
おまえのようなくだらんレスのIDは必要無い。

963 :デフォルトの名無しさん:2011/11/16(水) 11:43:14.69
いつのまに自己紹介スレになってたんだ

964 :デフォルトの名無しさん:2011/11/16(水) 11:56:33.56
IDの問題というより、1人か2人の人間の問題なだけなんだけどね。

965 :デフォルトの名無しさん:2011/11/16(水) 12:07:45.18
take it easy

966 :デフォルトの名無しさん:2011/11/16(水) 12:12:23.14
ああ、「スルーできない人間」だけの問題だよな

967 :デフォルトの名無しさん:2011/11/16(水) 12:22:09.63
お前らが謝罪して初心者にやさしくすると誓うなら
許してやってもいい

968 :デフォルトの名無しさん:2011/11/16(水) 12:22:27.78
そこにはあなたも入ってると言うことだなwww

969 :964:2011/11/16(水) 12:23:11.23
もっと多かったかw

970 :デフォルトの名無しさん:2011/11/16(水) 12:26:56.22
馬鹿がワンサカwww

971 :デフォルトの名無しさん:2011/11/16(水) 12:30:37.27
だからIDがあれば「少しは」是正される。
(変えてくる奴もいるだろうけど)

972 :デフォルトの名無しさん:2011/11/16(水) 12:35:11.88
じゃあここらで初心者の質問を(誠実に答えてくれることを願う)

複数のメソッドで同じような処理をしたいので
Aというメソッドを作りました
が、Aメソッドの大部分は同じなのですが
ほんの一部だけメソッドごとに違う処理をしたい場合
どのようにすれば簡潔に書けますか?
引数に渡すオブジェクトはメソッドごとに違います

973 :972:2011/11/16(水) 12:37:36.93
今現在やっているのはA1A2...とほとんど同じだけど
すこし処理が違うメソッドをたくさんコピーして作っています
Aメソッドは20行ぐらいのコードです

974 :デフォルトの名無しさん:2011/11/16(水) 12:52:21.18
クラスを抽出してポリモーフィズムを使ってください

975 :デフォルトの名無しさん:2011/11/16(水) 13:01:24.72
>>972
Aメソッドは何をするために作ったの?

976 :デフォルトの名無しさん:2011/11/16(水) 13:07:08.30
テンプレートメソッドとか色々あるけどそんな難しいことは考えなくていいから
まずは共通部分を別の複数のメソッドに分けることを考える。
その共通部分の呼び出しくらいはコピペでもいい。全部コピペよりは遥かにマシ。

977 :デフォルトの名無しさん:2011/11/16(水) 14:25:26.58
自然な機能の分割にならなければ諦める

978 :972:2011/11/16(水) 14:37:02.59
>>974
つまり複数のAメソッドの代わりに
複数のAクラスを作れということですか?
方法が違うだけで同じだと思いますが

>>975
Regexを使用した文字処理です

>>976
自然な機能の分割にはならないですね
一連した文字処理の流れなので
分割すると分かり難くなります

979 :デフォルトの名無しさん:2011/11/16(水) 14:37:18.40
違いが渡すオブジェクト毎切り替えられるなら
渡すオブジェクトからインターフェース抽出するとかね

980 :972:2011/11/16(水) 15:06:58.45
オブジェクトはただのstring型の文字列なので・・・

981 :デフォルトの名無しさん:2011/11/16(水) 15:12:07.67
C#ようの難読化ソフトがあるけど、あれってどれくらい効果あるの?

982 :デフォルトの名無しさん:2011/11/16(水) 15:17:28.57
クラス名・メソッド名・オブジェクト名なんかが全部a,b,cみたいになったコードを読もうと思うかい?

983 :デフォルトの名無しさん:2011/11/16(水) 15:21:58.88
>>980
メソッドに 文字列と、すこし処理が違う部分を渡せばいいじゃない。

984 :972:2011/11/16(水) 15:25:09.46
 >>983
処理を渡すとはどうやってするのですか?

985 :デフォルトの名無しさん:2011/11/16(水) 15:33:12.14
Visual Studioを学割で買いました!
学生最高!

986 :デフォルトの名無しさん:2011/11/16(水) 15:33:35.15
Func<string,string>

987 :972:2011/11/16(水) 15:38:17.96
>>986
それだとref使えないですよね
処理がうまくいかないならそのまま、
うまくいったら文字列処理後返すようにしたいのです
渡すオブジェクトはそのまま利用するので
nullとか空白とか送り返さないでねって明示する意味でも
refでしたいんです

988 :972:2011/11/16(水) 15:40:05.22
例えばnullなんかを返されてしまうと
呼び出し先のメソッドでnullかどうかのチェックをしないといけないですよね
それを複数メソッドでやるのって無駄じゃないですか?

989 :デフォルトの名無しさん:2011/11/16(水) 15:43:11.38
なら自分でrefで渡せるようにしたデリゲートを宣言する
でも>>987みたいな処理ならそんなCみたいなことしないでクラスにして
フィールド書き換えていくようにするのがいいんじゃないか

990 :デフォルトの名無しさん:2011/11/16(水) 15:44:43.17
refでもnull返せるぞ
つか呼出した先で何やってるか分からないような外部インターフェイス的なものに
refやoutは普通使わない

991 :デフォルトの名無しさん:2011/11/16(水) 15:48:30.33
できるっちゃできるけどそこまでする事か?

992 :デフォルトの名無しさん:2011/11/16(水) 15:50:59.89
こう言うのは議論のベースとなるソースコードがないとどうにもならんな

993 :デフォルトの名無しさん:2011/11/16(水) 15:53:49.33
>>985
つ DreamSpark

学生無料

994 :デフォルトの名無しさん:2011/11/16(水) 15:55:10.89
DreamSparkって高校生までじゃないのか

995 :デフォルトの名無しさん:2011/11/16(水) 15:56:39.86
放送大学在籍でも大丈夫らしい

996 :972:2011/11/16(水) 15:58:08.53
>>989
object a= A1();
return a.Henkan(moji);
こんな感じ?デリゲートっぽいですね

>>990
同じクラスです。
別クラスの話じゃないです

997 :972:2011/11/16(水) 16:34:50.98
>>992
前にちゃんとソースコードをテンプレのサイトに張って質問したのに
バカと煽られて以来ソースを張るのをやめました

998 :デフォルトの名無しさん:2011/11/16(水) 16:39:29.31
そうか
張らなくても議論が空転するだけだから好きにすればいい

999 :972:2011/11/16(水) 16:40:25.05
残念ながら答えがもらえなかったので
引き続き試合開始ですね

1000 :デフォルトの名無しさん:2011/11/16(水) 16:50:05.54
はい

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

223 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)