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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問。
質問者自身なんだか意味がよく分からない質問。
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて、他スレ・他板へ行くことを勧められることがあります、ご了承下さい。

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

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

前スレ
ふらっとVisual C#,C♯,C#(初心者用) Part102
http://toro.2ch.net/test/read.cgi/tech/1360231775/

関連スレ
C#, C♯, C#相談室 Part78
http://toro.2ch.net/test/read.cgi/tech/1356268827/

コード貼るなら↓使ってください
http://ideone.com/
2デフォルトの名無しさん:2013/03/06(水) 12:41:38.89
C#4.0の場合って配列はListで作っとけばいいですか?
3デフォルトの名無しさん:2013/03/06(水) 12:46:36.84
馬鹿w
4デフォルトの名無しさん:2013/03/06(水) 12:47:11.13
JavaScriptでいうSetIntervalはTimerコントロールをデザイナーにおいたらできましたが
SetTimeoutはなんてコントロールを使えばいいか教えてください
5デフォルトの名無しさん:2013/03/06(水) 12:52:58.79
Timerで一回でStopするとか?
6デフォルトの名無しさん:2013/03/06(水) 13:44:49.95
threading.sleepをスレッド起こして使う
7デフォルトの名無しさん:2013/03/06(水) 15:03:14.99
>>6
それ何語?

>>5でファイナルアンサー
8デフォルトの名無しさん:2013/03/06(水) 15:09:11.08
Timerコントロールは呼ばれないことがあるから危険
9デフォルトの名無しさん:2013/03/06(水) 15:16:38.98
まじで?
10デフォルトの名無しさん:2013/03/06(水) 15:18:44.87
その点、threading.thread.sleepは確実
11デフォルトの名無しさん:2013/03/06(水) 15:37:05.83
嘘教えたらあかんで
12デフォルトの名無しさん:2013/03/06(水) 15:50:01.77
嘘じゃねーし。俺はそれで困ったことあるし。
13デフォルトの名無しさん:2013/03/06(水) 16:01:00.89
>>12のバグっぽいな
14デフォルトの名無しさん:2013/03/06(水) 16:17:27.38
それはないな
15デフォルトの名無しさん:2013/03/06(水) 17:00:10.54
webbrowserコントロールのNavigateで読みに行った時、
なんらかの理由でページの読み込みに非常に時間がかかるか、失敗することがあるのですが、
そういうときに強制的に再読み込みさせたいのですがどうすればいいですか?
サンプルがあるとたすかるのですが
16デフォルトの名無しさん:2013/03/06(水) 17:07:38.61
C#でブラウザを作りたいんですけど、webbrowserを貼り付けたときって、そのパソコンにインストールされてるIEで表示されるんですか?
それともC#オリジナルのブラウザのエンジンで表示されるんですか?
17デフォルトの名無しさん:2013/03/06(水) 17:16:44.31
webbrowserコントロールの質問は禁止ですよ。
18デフォルトの名無しさん:2013/03/06(水) 17:53:31.61
角の丸いフォームを作りたいのですが、どうしてもギザギザになって
しまいます。方法としてはフォームのRegionにパスを渡しています。

綺麗な(アンチエイリアスの効いた)角の丸いフォームを作ることができないでしょうか?
19デフォルトの名無しさん:2013/03/06(水) 17:59:41.01
>>17
なぜですか?
20デフォルトの名無しさん:2013/03/06(水) 18:01:09.53
>>19
あなたみたいなバカがくるからです。
21デフォルトの名無しさん:2013/03/06(水) 18:06:32.56
バカは>>20の事ですが?
22デフォルトの名無しさん:2013/03/06(水) 18:17:24.00
>>16
IEですよ
だからそのユーザーのIEの設定が使われますよ
23デフォルトの名無しさん:2013/03/06(水) 18:25:06.39
>>22
そうでしたか、わかりました
ということは環境によって見栄えが変わるからwebbrowser以外のエンジンを使うことを検討します
24デフォルトの名無しさん:2013/03/06(水) 19:49:07.40
面倒くさいぞ
後悔するぞ
25デフォルトの名無しさん:2013/03/06(水) 20:27:51.89
WebBrowserとSendMessage関数を使ってブラウザのスクリーンショットを取るアプリを作っているんだけど
XP+IE8やVista(x86)+IE8環境だと、GDIオブジェクト数がじわじわ増えていく現象に悩まされている
(毎回必ず増えるわけじゃなく、時々何かの拍子に増加し、増えた分はいつまでも減らない)

リソースの解放はちゃんと行われているはずで、7(x64)+IE9環境で
同じexeファイルを実行して同じ動作をさせても、GDIオブジェクト数は増えずに安定している
26デフォルトの名無しさん:2013/03/06(水) 21:11:06.46
気にするな
27デフォルトの名無しさん:2013/03/06(水) 22:57:35.75
DirectoryInfoのgetDirectories()とgetFile()を使ってもデスクトップ上に置いてある一部のショートカットとゴミ箱の名前が取得できないのは何故ですか?
28デフォルトの名無しさん:2013/03/07(木) 00:20:47.13
そいつらはシェルがおいてるから
29デフォルトの名無しさん:2013/03/07(木) 00:28:01.30
それらはどうやっても取得できないですか?
30デフォルトの名無しさん:2013/03/07(木) 00:30:26.96
COM使ってシェルの機能を呼び出せば取得できるだろう
31デフォルトの名無しさん:2013/03/07(木) 02:49:13.77
>>18
リージョンじゃ無理でしょう
エッジにアルファの付いた画像で、自前でウィンドウを描画するしかないのでは?
32デフォルトの名無しさん:2013/03/07(木) 12:29:33.89
33デフォルトの名無しさん:2013/03/07(木) 13:37:31.06
○×ゲームが作りたいんですがこういうの↓

oxo
xox
xoo

フォームに綺麗に3x3のマスを配置したいんですが、textboxを同じサイズで綺麗に配置する方法を教えてください
デザイナじゃなくてコードで生成したいんです
34デフォルトの名無しさん:2013/03/07(木) 13:44:54.82
普通にLocationとかSizeプロパティいじればいい
35デフォルトの名無しさん:2013/03/07(木) 14:45:35.77
FlowLayoutPanelを折り返し有効で
36デフォルトの名無しさん:2013/03/07(木) 14:51:05.11
そもそもテキストボックスというのが間違い
37デフォルトの名無しさん:2013/03/07(木) 14:53:46.06
>>34
LocationとSizeで手動で数字を入れていくのは考えたんですが将来5x5とか任意のマスに増やせる事を考えると厳しいです
>>35
これ今から試してみます
>>36
他にoとxを入力する方法が思いつかなかったため他のコントロールも考えて見ます
38デフォルトの名無しさん:2013/03/07(木) 14:58:42.35
デザイナが生成したコード読め
その要領でループで追加するだけ
39デフォルトの名無しさん:2013/03/07(木) 22:03:57.19
DataGridViewに個人情報の一覧を表示したいと考えています。
名前 , 部署名
タロウ, 営業部

前提)
設定ファイルに記述したコードマスタを読み込んでメモリ上に保持しています。
CD1, CD2, 部署名
0 , 1 , 総務部
1 , 2 , 営業部

コードから取得した部署名をどこに保持すべきですか?

案)
DataTableに空の列 [部署名] を作っておく。
個人情報テーブルの内容を取得する。(2000件ほど)
[個人ID],[名前],[CD1],[CD2],[部署名]
12345 ,タロウ , 1 , 2 , NULL

コードから取得した部署名を入れる。
[個人ID],[名前],[CD1],[CD2],[部署名]
12345 , タロウ, 1 , 2 , 営業部

これをDataGridViewにバインドする。
40デフォルトの名無しさん:2013/03/08(金) 08:37:50.41
Relations使ってExpressionで
4139:2013/03/08(金) 19:35:45.86
>>40
設定ファイルから読み込んだコードマスタを部署DataTableにaddrowする。
個人情報用DataTableに空の列 [部署名] を作っておく。
そのExpressionにParent.[部署名]という感じですか?

Relationsはデザイナで作るのが好きですか?
それともコード上で作りますか?
42デフォルトの名無しさん:2013/03/08(金) 20:04:09.25
俺はコードで書くが、好きにしたらいいだろそんなの
4339:2013/03/08(金) 20:25:27.15
いろいろ手探りでDataGridViewを調べているところなので。
ありがとうございました。
44デフォルトの名無しさん:2013/03/09(土) 17:29:27.17
>>39
LINQ を使って個人情報とコードマスタをjoin 。DataGridView のデータソースにLINQ を指定でOK。
45デフォルトの名無しさん:2013/03/09(土) 20:52:09.24
画像をBitmapに読み込ませpictureboxに表示させると著しく
表示画質が落ちるのはなぜでしょう?

元画像のサイズは2500*3500くらいですが文字がつぶれて
読めないくらいまでになります。
保存した画像のサイズは同じままです。
プロパティはSizeModeをtrueで表示させています。
46デフォルトの名無しさん:2013/03/09(土) 20:54:36.91
pictureBoxのサイズは?
SizeModeをtrueというのは意味不明だが?
47デフォルトの名無しさん:2013/03/09(土) 21:18:35.68
失礼しました。
SizeModeはZoomです。
pictureboxのサイズは450*600で
読み込みファイルはtif形式です。
48デフォルトの名無しさん:2013/03/09(土) 21:31:36.97
画像の拡大縮小のアルゴリズムが幾多もある事をご存じか
49デフォルトの名無しさん:2013/03/09(土) 22:17:05.09
別の環境で元々作られていた画面プロトタイプのpictureboxに
読み込ませると縮小表示されたような感じでなんら違和感がない
のです。
特にアルゴリズムは仕組まれてません。

一つ気になったのは、その環境だとBitmapに読み込ませて
pictureboxに表示させようとすると何も表示されずしばらくして
例外(内容は失念)をはいてました。
streamで読み込ませると問題なく表示されます。
こちらの環境だとstreamでもBitmapでも変化はないです。
50デフォルトの名無しさん:2013/03/10(日) 03:37:38.22
その別の環境というのはよくわからないけど、
PictureBoxに縮小表示させるんじゃなくて、
読み込んだBitmapから別のPictureBoxと同じサイズのBitmapに
InterpolationMode指定してDrawImageして、そのBitmapをPictureBoxに貼ってみたら?
51デフォルトの名無しさん:2013/03/10(日) 06:52:32.51
素人の能書きで説明されても困るからコード貼れカス
52デフォルトの名無しさん:2013/03/10(日) 08:18:11.06
自分がやってることを理解してない奴に何をどう説明しろと
入門書丸ごとここで説明しろってか
53デフォルトの名無しさん:2013/03/10(日) 08:28:51.42
能書きはいい、貼れば分かる(アル中の発想)
54デフォルトの名無しさん:2013/03/10(日) 16:31:57.23
Dictionaryのキーの一意性について質問させてください。
以下の様にDictionaryを使用して、文字列をキーとして、
データを管理するプログラムがあります。
文字列はハッシュ値に変換され管理されると思いますが、
ハッシュの衝突の恐れはあるのでしょうか?
以上、宜しくお願い致します。

Dictionary<string, int> hoge = new Dictionary<string, int>();
hoge["キーとなる文字列"] = 100;
55デフォルトの名無しさん:2013/03/10(日) 16:41:03.59
>文字列はハッシュ値に変換され管理されると思います

文字列そのものもストアされます。
万が一ハッシュが衝突してもIEqualityComparer<TKey>.Compareするみたいだから
そっちで弾かれるでしょうね
56デフォルトの名無しさん:2013/03/10(日) 16:41:51.06
ハッシュ値って言うのは基本的に衝突する前提を置くものだ
当然衝突する

衝突するが、それはキーの一意性になんら影響を与えない
パフォーマンスが悪くなるだけ
57デフォルトの名無しさん:2013/03/10(日) 16:43:56.13
IEqualityComparer<TKey>.Compare なんて存在しないわ
IEqualityComparer<TKey>.Equals()でした。訂正。。
58デフォルトの名無しさん:2013/03/10(日) 16:45:40.05
"00000000"から"FFFFFFFF"までの文字列からハッシュ値を生成したら
理論上どっかで衝突しないとおかしいでしょ?GetHashCodeが返すのはintなんだから
59デフォルトの名無しさん:2013/03/10(日) 16:48:36.44
ハッシュ衝突の事を気にするのは作る側の話で
使う側は気にしないでいい
60デフォルトの名無しさん:2013/03/10(日) 16:51:32.84
そういえばhashdosってASPでも可能だったのかと思ったらやっぱり可能だったんですねえ
http://securityblog.jp/words/5067.html
6154:2013/03/10(日) 19:57:26.09
>55-59
Dictionaryはハッシュの衝突をちゃんと考慮されているのですね。
安心して使うことができます。
回答ありがとうございました。
62デフォルトの名無しさん:2013/03/10(日) 20:06:12.81
だが待ってほしい。衝突テストした人はまだいない。
63デフォルトの名無しさん:2013/03/10(日) 21:00:28.48
えーいめんどうくさいやつめ
64デフォルトの名無しさん:2013/03/10(日) 21:02:08.81
ここは毎回違うハッシュを返してみる。
65デフォルトの名無しさん:2013/03/10(日) 21:05:05.84
C#の正しい学び方を教えてください
今は無料で使える2010のIDEでデザイナーに部品を置いてググってコピペするぐらいしかできません
MSDNを見てもメンバとかプロパティとかメソッドとかみてもそれらをどう使っていいかわからないレベルです
66デフォルトの名無しさん:2013/03/10(日) 21:05:26.08
衝突する(+予測可能)からhashdosは成立しえたねん
67デフォルトの名無しさん:2013/03/10(日) 21:06:06.41
買わなくていいから独習でも読んで来い
68デフォルトの名無しさん:2013/03/10(日) 21:28:14.57
昔、独習Cを買ったら、後半に行くほどどんどん誤植だらけになってた。
一気に書きすぎだろ。というか最低限の校正してから出せ。
69デフォルトの名無しさん:2013/03/11(月) 08:45:31.06
独習レベルならネットにまとめサイトいくらでもあるからいらんやろ
たまにはMSDNを頭からケツまで読んでみることもいいことだよ
MSDNは憲法全文みたいで何言ってるか分からないから
そこでみつけたキーワードをぐぐって掘り下げていくとよい
あとはひたすら作る、人のコードを読む、自分のコードを人に読んでもらうを繰り返せば
いつの間にかスーパーエグゼクティブクリエイター様になっているよ
70デフォルトの名無しさん:2013/03/11(月) 08:47:10.46
もし書店まで行って何か買うなら
コードコンプリートみたいなコード設計の哲学書を買った方が255倍は役に立つ
71デフォルトの名無しさん:2013/03/11(月) 10:04:49.72
>>70
1バイト脳ではオーバーフローする
72デフォルトの名無しさん:2013/03/11(月) 16:41:08.27
WMPを使ったメディアプレイヤーを作っているのですが
コマ送りは正常に1フレーム毎にされているのですが、
コマ戻りは1フレームではなく、1秒程戻ってしまいます。

調べてみるとWMPのバグで直す予定がないとのこと、
そこで、強制的にフレームレートからその場所までシーク
(Ctlcontrols.currentPositionに1フレーム前の値を入れる)
方法を取りたいのですが、画面が更新されません。
(1フレーム戻ったときの画像にならない)

どのようにすれば1フレーム戻ったときの画面を表示することができるのでしょうか?
73デフォルトの名無しさん:2013/03/11(月) 16:48:43.22
Flashを使うといいよ。
74デフォルトの名無しさん:2013/03/11(月) 17:04:35.13
無圧縮じゃないと1フレーム戻るなんて芸当できないんじゃない?
75デフォルトの名無しさん:2013/03/11(月) 17:09:02.96
キーフレームまで戻されるってことか
76デフォルトの名無しさん:2013/03/11(月) 17:18:52.92
aviなら戻せるんじゃない?
77デフォルトの名無しさん:2013/03/11(月) 17:44:42.56
コンテナごときが1フレーム前の画像を保持しとくことなんてデコーダに強要できるのか
78デフォルトの名無しさん:2013/03/11(月) 18:11:58.75
実際に戻るところはフレームレートから計算して戻れるのですが、
画面に表示できない(更新されない)ために問題になっています。
Play=>Pause以外に方法がないでしょうか?
79デフォルトの名無しさん:2013/03/11(月) 18:16:09.34
人の話を聞く気が無いんですね
80デフォルトの名無しさん:2013/03/11(月) 18:38:53.98
>>79

すいません、そういうつもりではないです。

実際にその場所から1フレーム戻す必要はなく、DirectShowのように
先頭からSeekして指定した場所に移動できればよいのですが・・・(画面の更新あり)

そうするとDirectShow使えって言われそうですが・・・単純にWMVの再生速度を変更
する方法がDirectShowでは分からない(対応していない)からWMPにしました
81デフォルトの名無しさん:2013/03/11(月) 20:12:43.74
力技でコマ戻りをした場合にDirectShowを使って1フレーム前の画像を取り出して
画面に描画してみた!!!うまく行ったと思ったけど、、、WMPとDirectShowで切り出した
画質(色合、明るさ等)がかなり違いました。DirectShowでやったから?と思って
ffmpegで切り出すとDirectShowで切り出した画像と一緒でした。

嗚呼困った・・・
82デフォルトの名無しさん:2013/03/11(月) 21:04:56.24
詳しいことは知らんが。
キーフレーム?まで戻って、そこから「1コマ前のフレーム」にシークしたらダメなの? 最後のシーク以外は非表示?で。
83デフォルトの名無しさん:2013/03/11(月) 21:45:32.00
ここの先輩方が主要な音声ファイルを再生するのに使うライブラリって何ですか?
84デフォルトの名無しさん:2013/03/11(月) 21:54:36.16
DirectShow
85デフォルトの名無しさん:2013/03/12(火) 07:43:41.31
a["2013-03-01"]
a["2013-03-02"]
a["2013-03-05"]
a["2013-03-07"]

↑を2013-03-01〜2013-03-31の配列に変換したいのですがLINQで一発でやる方法ありますか?
EntityFrameworkでカレンダー作ってるのですがfor文で今1日ごとに取ってきていて遅いのです。
86デフォルトの名無しさん:2013/03/12(火) 07:45:01.82
×カレンダー
○スケジューラー
87デフォルトの名無しさん:2013/03/12(火) 08:05:57.57
何も書き込まれていない日もnullが入った状態で戻ってきて欲しいのです。
88デフォルトの名無しさん:2013/03/12(火) 09:30:59.91
Nullで返して欲しい?
あー前スレでそんな事言って叩かれたわ
お前も覚悟しとき
89デフォルトの名無しさん:2013/03/12(火) 09:46:59.36
a.OrderBy(t=>t.Key).ToArray()とか?
90デフォルトの名無しさん:2013/03/12(火) 09:55:25.78
LINQとかEntityFrameworkとかキモイもの使うなよw
91デフォルトの名無しさん:2013/03/12(火) 10:00:09.68
// 今こんな感じです。
for (int day = 0; day < 31; day++) {
var date = new Date(2013, 3, day + 1);
ret[day] = db.MyCal.Where(t => t.Date == date).FirstOrDefault();
}

// こんな感じでループをなくしたいのです。
var bgn = new DateTime(2013, 3, 1);
var end = new DateTime(2013, 3, 31);
var ret = db.MyCal.Where(t => bgn <= t.Date && t.Date <= end).〜〜〜
92デフォルトの名無しさん:2013/03/12(火) 11:12:04.41
Visual C# 2010 Expressですが

richTextBoxに文字を書き込んだ時にnikkiフォルダ内に生成されるようにしていますが
書き込む度にテキストファイルの内容が自動的に更新されるにはどう書けばよいでしょうか
入力内容がテキストファイルに正常に書き込まれません

private void richTextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
string nikkipath = (@"nikki\");
DateTime dtNow = monthCalendar1.TodayDate;
string sDate = dtNow.ToString("yyyyMMdd");

string @filename = (nikkipath + sDate + ".txt");

if (File.Exists(@filename))
{
return;
}
using (StreamWriter sw = File.CreateText(@filename))
{
string sText = richTextBox1.Text;
sw.WriteLine(sText.Length);

sw.Close();
}
}
93デフォルトの名無しさん:2013/03/12(火) 11:29:04.63
まず、
if (File.Exists(@filename))
ここでファイルが存在したら返っちゃうからその先行かんだろ
KeyPressの時点でTextの内容はまだ反映されてないから
ファイル作成時も0が入るだけだと思うが。
あと毎回新規で作ってるけど、実際にはどうしたいの?
94デフォルトの名無しさん:2013/03/12(火) 11:29:30.78
どうなるのが「正常」なのか分からんことにはなんとも
95デフォルトの名無しさん:2013/03/12(火) 11:40:33.68
>>91
LINQで外部結合なんてクエリ式でも拡張メソッドでも訳分からんコードになるだけだから
今のままで良いよ
96デフォルトの名無しさん:2013/03/12(火) 11:54:28.50
>>93-94
お返事ありがとうございます。
要は日記帳を作っているのですが、richTextBox1に文字が入力された場合に
今日であれば20130312.txtというファイルがnikkiフォルダに自動作成されて、
文字の書き込みや文字の削除がある都度にテキストファイルの内容が自動更新保存されるということをしたいのです。
日付名のファイルの自動生成までは出来ているようです。
97デフォルトの名無しさん:2013/03/12(火) 12:03:26.46
更新内容が丸ごとなら、もっと更新の頻度下げないと使いものにならん気がするな。
どっちにしてもKeyPressはありえない、最後の文字が反映されない。この場合ならTextChangedだろ、あまり勧めないけど。
ファイルの方は新規作成と更新で分けよう。
98デフォルトの名無しさん:2013/03/12(火) 12:10:46.34
>>96

こんな感じ?

private FileStream _fs

private void richTextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
string nikkipath = (@"nikki\");
DateTime dtNow = monthCalendar1.TodayDate;
string sDate = dtNow.ToString("yyyyMMdd");

string filename = (nikkipath + sDate + ".txt");
if(_fs == null)
{
_fs = new new FileStream(filename ,FileMode.CreateNew,FileAccess.ReadWrite);
}
else if(_fs.Name != filename )
{
_fs.Dispose();
_fs = new new FileStream(filename ,FileMode.CreateNew,FileAccess.ReadWrite);
}

using(var sw = new StreamWriter(_fs,"えんこーど"))
{
//処理
}
}
99デフォルトの名無しさん:2013/03/12(火) 12:37:01.99
質問1: Vistaって.Net4.0までしか利用できないですか?
質問2: 8は標準で4.0がインストールされてるから2.0で作ったプログラムは動かないと思っていいですか?
100デフォルトの名無しさん:2013/03/12(火) 12:56:42.82
>>95
多少読みにくくてもDBへの負荷を下げたいんです
101デフォルトの名無しさん:2013/03/12(火) 12:57:56.98
>>97-98
ありがとうございます
少しいじってみます
102デフォルトの名無しさん:2013/03/12(火) 12:59:29.79
>>99
Vistaで.NET Framework 4.5はサポート。
ただしVisual Studio 2012は利用できない。

NET Framework 2.0/3.0/3.5 は追加でインストール可能。
103デフォルトの名無しさん:2013/03/12(火) 13:01:26.72
>>100
複雑なクエリ解析させて余計にデータ持ってこさせて、何の負荷が下がるの?
104デフォルトの名無しさん:2013/03/12(火) 13:10:13.93
>>100>>103
1クエリでとってから加工すればいいんじゃね?
EFはクエリが異常に重いしクエリ量を減らすのはありだと思うよ。
105デフォルトの名無しさん:2013/03/12(火) 14:40:04.53
.NET2.0は標準装備にして欲しいよなぁ・・・
106デフォルトの名無しさん:2013/03/12(火) 14:50:49.76
EFやLINQを使わなければ軽いのに
107デフォルトの名無しさん:2013/03/12(火) 14:58:51.19
一次元配列で戦闘が大文字のアルファベットから始まる値を省くコードって
2.0 3.5 4.0で書きやすさは異なりますか?
108デフォルトの名無しさん:2013/03/12(火) 15:06:41.63
馬鹿だろおまえ
109デフォルトの名無しさん:2013/03/12(火) 15:13:26.82
ソフトウェアで大事なのはソースコードじゃないんだよ。
気持ちよい操作性なんだよ。ジョブズがそれを証明した。
110デフォルトの名無しさん:2013/03/12(火) 15:24:47.63
>>107
配列は固定長だから省いてどうするのかって話があるが
111デフォルトの名無しさん:2013/03/12(火) 15:39:33.54
Linq使うか使わないかの違いくらいか
112デフォルトの名無しさん:2013/03/12(火) 15:44:55.08
//2.0
List<string> temp = new List<string>();
foreach( string str in arr )
{
 if( 条件( str ) )
 {
  temp.Add( str );
 }
}
arr = temp.ToArray();

//3.5
var temp = new List<string>();
foreach( var str in arr )
{
 if( 条件( str ) )
 {
  temp.Add( str );
 }
}
arr = temp.ToArray();

//4.0
arr = arr.Where( (str)=>条件( str ) ).ToArray();
113デフォルトの名無しさん:2013/03/12(火) 16:05:05.82
3.5でもLinq使ってもいいんでないの?

2.0ではRemoveAllが使える。
List<string> temp = new List<string>(arr);
temp.RemoveAll( delegate(str) { return !条件(str); } );
arr = temp.ToArray();
114デフォルトの名無しさん:2013/03/12(火) 16:06:40.00
(´・∀・`)ヘー
115デフォルトの名無しさん:2013/03/12(火) 16:20:16.89
Array.FindAllで十分 拡張メソッドは不用
.NET 2.0でもラムダ式は使えるから記述に差は生じないね
116デフォルトの名無しさん:2013/03/12(火) 16:23:14.85
C#3.0からか
117デフォルトの名無しさん:2013/03/12(火) 17:32:29.83
Linqって覚えたほうがいいものですか?
118デフォルトの名無しさん:2013/03/12(火) 17:40:31.51
おれってスゲーしたいなら覚えると確かに気持ちいい
あと、おれってスゲーしたい人が書いたサンプルを理解するのにも必要

ラムダ式外に副作用を与える糞コードも書けるが書くと死ぬ
119デフォルトの名無しさん:2013/03/12(火) 17:41:19.11
LINQの中核である、拡張メソッドによるコレクション操作処理は便利に使えるよ
クエリ式は特にいらん
XLinqはXMLのDOM処理で非常に便利
PLinqは必要に応じて
120デフォルトの名無しさん:2013/03/12(火) 17:48:19.56
perlみたいに読みにくいコードがほんと増えたな。
121デフォルトの名無しさん:2013/03/12(火) 17:51:48.64
無駄なフラグ立てずにすんで読みやすくなった
122デフォルトの名無しさん:2013/03/12(火) 17:54:29.57
C#ってライブラリを使わずにCに変換してexe作れるようになれたらいいなと思うんですけど誰もこんなこと考えてないものですかね?
123デフォルトの名無しさん:2013/03/12(火) 18:02:41.90
久しぶりにC++の機能追加やろうとググったら、
出てくるソースを読んでみるとどれもバグありばかりで引いた。
もうCには優秀な奴は残ってないみたいだな。
124デフォルトの名無しさん:2013/03/12(火) 18:29:34.26
VC#でコード書いたんですけどgitで管理する場合binフォルダは除外しました
他に除外したほうがいいフォルダやファイルはありますか?
125デフォルトの名無しさん:2013/03/12(火) 18:38:02.13
objも要らなくね
126デフォルトの名無しさん:2013/03/12(火) 18:39:27.62
>>122
いるし既存だし
数メガバイトになるけどねバイナリ
127デフォルトの名無しさん:2013/03/12(火) 18:39:39.34
objも除外しました
objってHDDから消しても問題ないですかね?
ていうか消しちゃったんですが、F5押してもobjが生成されなくなってしまいました
128デフォルトの名無しさん:2013/03/12(火) 18:39:42.10
Thumbs.db
*.obj
*.exe
*.pdb
*.user
*.aps
*.pch
*.vspscc
*_i.c
*_p.c
*.ncb
*.suo
*.sln.docstates
*.tlb
*.tlh
*.bak
*.cache
*.ilk
*.log
[Bb]in
[Dd]ebug*/
*.lib
*.sbr
obj/
[Rr]elease*/
_ReSharper*/
[Tt]est[Rr]esult*
*.vssscc
$tf*/
129デフォルトの名無しさん:2013/03/12(火) 18:44:16.60
suoも除外して大丈夫なんですか?
git checkout . で復元したときビルドできなくなるような気がするんですけど
130デフォルトの名無しさん:2013/03/12(火) 18:47:25.53
suoはユーザーのどうでもいいデータしか入ってない
131デフォルトの名無しさん:2013/03/12(火) 18:49:47.84
なるほど、ありがとうございます
132デフォルトの名無しさん:2013/03/12(火) 18:56:26.52
それよりなんでソースシュレッダーのメタデータが含まれているんだろう
133デフォルトの名無しさん:2013/03/12(火) 19:02:44.37
諸事情
134デフォルトの名無しさん:2013/03/12(火) 19:28:31.98
多次元配列のint[,] a = new int[4, 2];

ジャグ配列のint[][] a = new int[4][2];
って
書き方が違うだけでまったく同じ事って認識でOKですか?
135デフォルトの名無しさん:2013/03/12(火) 19:33:05.03
いいえ
136デフォルトの名無しさん:2013/03/12(火) 20:09:58.09
そもそも下はコンパイルエラー
137デフォルトの名無しさん:2013/03/12(火) 21:42:44.02
多次元配列= 次元分のメモリ領域が確保されるイメージ
ジャグ配列= 配列へのポインタが並ぶイメージ
138デフォルトの名無しさん:2013/03/12(火) 23:02:15.10
ListViewItemSorterを設定しても自動でソートさせたくないんですが、アドバイスお願いします
139デフォルトの名無しさん:2013/03/13(水) 01:21:24.14
C#で簡易的なグリッドコンピューティングを実現できるライブラリありませんか?
140デフォルトの名無しさん:2013/03/13(水) 01:22:43.12
BOINC
141デフォルトの名無しさん:2013/03/13(水) 01:41:27.40
142デフォルトの名無しさん:2013/03/13(水) 04:58:09.62
>>138
ソートするときだけ設定して、ソートしたらはずす
つうかそんなもん好きなときに自前の関数呼べば良いだろ
143デフォルトの名無しさん:2013/03/13(水) 11:08:38.69
>>142
わかりました
144デフォルトの名無しさん:2013/03/13(水) 12:46:01.53
>>141
ありがとう
145デフォルトの名無しさん:2013/03/13(水) 12:47:23.19
C#特化のアルゴリズム事典のようなサイトありませんか?
レイキャスティングのアルゴリズムを勉強したい。
146デフォルトの名無しさん:2013/03/13(水) 13:29:34.44
google
147デフォルトの名無しさん:2013/03/13(水) 13:33:10.21
アルゴリズムは言語独立だから、それの勉強と言うことならc#に特化してる必要はないね。
148デフォルトの名無しさん:2013/03/13(水) 15:35:38.26
C#で書いたソースくださいって意味だろうなw
149デフォルトの名無しさん:2013/03/13(水) 16:50:39.65
言語、ライブラリにほとんど入っちゃってるからな。
まさにゆとりのための言語。
150デフォルトの名無しさん:2013/03/13(水) 18:12:54.36
151デフォルトの名無しさん:2013/03/14(木) 00:48:22.68
>>147
言語独立だが論文なんかだとみんな好き勝手なオリジナル言語だろっていうのが多いのも事実。

>>150
TimSortも作れ
152デフォルトの名無しさん:2013/03/14(木) 12:04:04.96
配列に色んな型を混ぜた値を入れる方法ってありますか?

ary = {100, "100", 0.1}
153デフォルトの名無しさん:2013/03/14(木) 12:10:31.34
object[]にすればいい。
154デフォルトの名無しさん:2013/03/14(木) 12:11:07.51
object型の配列に全部ぶち込む。
155デフォルトの名無しさん:2013/03/14(木) 12:17:27.17
こんな便利な型があったんですね
全部objectにします
どうもありがとうございます
156デフォルトの名無しさん:2013/03/14(木) 12:18:15.40
いやいやいやw
使い分けろよw
157デフォルトの名無しさん:2013/03/14(木) 12:18:47.85
PHPに慣れるとこのへんが慣れてなくてw
158デフォルトの名無しさん:2013/03/14(木) 12:24:47.20
>>152みたいな要求はすくなくともここ数年感じたことがないんだが
いったいどんなケースで必要なんだろう?
159デフォルトの名無しさん:2013/03/14(木) 12:30:18.48
クラスだって>>152から発展した概念にすぎないよ。
型の定義が面倒くさけりゃ、あらゆるケースで必要じゃん。
160デフォルトの名無しさん:2013/03/14(木) 12:31:13.96
LLやれば分かるよ
LLやってるのに分からないなら、それはとても健全な証なのでそのままでいた方が幸せ
161デフォルトの名無しさん:2013/03/14(木) 12:57:02.10
C#は「数値型」を作って欲しかった
なんでINT32やSingleがただの構造体なんだよ
162デフォルトの名無しさん:2013/03/14(木) 14:10:44.12
>>161
つまりInt32は数値型じゃないと?
「数値型」の定義を教えてくれないか?
163デフォルトの名無しさん:2013/03/14(木) 14:38:01.60
LLなあなたにはobjectよりdynamic
164デフォルトの名無しさん:2013/03/14(木) 15:24:38.51
>>161
おれ専用数値型作ればいいだけじゃん。
165161:2013/03/14(木) 16:04:28.07
>>162-164
わかってないな
ジェネリクス制約で「数値型」に限定したいのだよ
現状だと構造体でしか制限できない

  where T : struct



  where T : numeric
166デフォルトの名無しさん:2013/03/14(木) 16:36:18.37
167デフォルトの名無しさん:2013/03/14(木) 17:11:54.96
FileInfoを使わずにファイルサイズを取得する方法を教えてください。
168デフォルトの名無しさん:2013/03/14(木) 17:16:09.62
なんで使わないの?
169デフォルトの名無しさん:2013/03/14(木) 17:40:00.28
>>165
演算子がインターフェイスで表現できればそれもよかったかもね

>>167
FileInfoの中でやってることはFindFirstFileだよ
シェルを介しても取得できなくはないけど、最終的にはFindFirstFileが呼ばれるんじゃないかなぁ
170デフォルトの名無しさん:2013/03/14(木) 18:12:08.34
すいません、失礼します。
webbrowserで「新しいウィンドウ」を開くため、
//main.tinyjoker.net/Tech/CSharp/WebBrowser%A5%B3%A5%F3%A5%C8%A5%ED%A1%BC%A5%EB%A4%CBNewWindow2%A5%A4%A5%D9%A5%F3%A5%C8%A4%F2%BC%C2%C1%F5%A4%B9%A4%EB.html#d8a1a130
のサイトを参考にして作ったのですが、 昨日、動作しなくなりました。
何か更新きたのでしょうか?
また、別の方法はあるのでしょうか?
宜しくお願い致します。
171デフォルトの名無しさん:2013/03/14(木) 18:16:23.84
プロジェクト新規で作りなおして何度もやってみそ
172デフォルトの名無しさん:2013/03/14(木) 21:57:33.30
デザイナでコントロールをダブルクリックするとコントロールに応じたコードが追加されるけど、これ無効にできないかな
邪魔
173デフォルトの名無しさん:2013/03/14(木) 22:36:15.64
ダブルクリックなんかしなきゃいいだけだろ。
アル中か何かで意思に反してダブルクリックしちゃうとかでなければw
174デフォルトの名無しさん:2013/03/14(木) 23:26:32.10
経験上DataSetデザイナーはよく誤爆する
175デフォルトの名無しさん:2013/03/15(金) 02:11:53.39
DataSet、久しぶりにその言葉を聞いたわ
176デフォルトの名無しさん:2013/03/15(金) 06:53:19.43
ボタンをポトペタすると高確率でサイズ極小になる
177デフォルトの名無しさん:2013/03/16(土) 01:44:23.63
ListBoxにある項目をダブルクリックすることで、対応するListViewとTextBoxの組のボックスを出したいんですけど、

イメージとしてはこんなかんじです。
http://i.imgur.com/4yyX7vi.png

- 赤のボックスが出ている状態で、ListBoxにある他の項目をダブルクリックしたら別のそれに対応したボックスが出る
- 薄い青枠内で左右スクロールができる

のようなことを実現したいのですが、何を使えばよいのかさえ皆目検討つきません…
どなたかお教えください。
178デフォルトの名無しさん:2013/03/16(土) 05:07:36.40
>>177
動的にコントロールを作成する場合、フォームデザイナは使えないので、
コントロールのデザイン含めてコードで書く必要がある

話を簡単にするため、ダブルクリックでテキストボックスだけを追加していく例をあげるなら
1. ListBox(ListBox1)とパネル(Panel1)をフォーム上に作成
2. ListBoxのダブルクリックイベントに以下を追加
TextBox textbox = new TextBox();
textbox.Multiline = true;
textbox.AutoSize = false;
textbox.Width = 100;
textbox.Dock = DockStyle.Left;
Panel1.Controls.Add(textbox);
textbox.BringToFront();
のような感じ

117の例の場合、動的に追加する要素部分はPanelから継承させたItemPanelみたいなクラスをあらかじめ用意しておいて、
ダブルクリック処理ではそのクラスを追加するのがいいと思う
ItemPanelのコンストラクタでは自身のパネル上にListViewとTextBoxを追加して適切に配置するプログラムコードを記述することになる
179デフォルトの名無しさん:2013/03/16(土) 06:24:38.22
>>178
それで理解できるなら>>177みたいな質問しね−よカス
180デフォルトの名無しさん:2013/03/16(土) 12:29:30.98
やっぱりVC#でデザイナーで部品を置いていくような作り方はやめたほうがいいですか?
181デフォルトの名無しさん:2013/03/16(土) 12:34:11.72
逆に何の目的があってデザイナーを使わないのか
WPFならともかく
182デフォルトの名無しさん:2013/03/16(土) 12:37:03.79
普通にデザイナで作って表示を制御すればいい
183デフォルトの名無しさん:2013/03/16(土) 13:28:34.78
デザイナが吐くコードの方が高速だしね
184デフォルトの名無しさん:2013/03/16(土) 13:29:26.27
何故デザイなのコードのほうが高速なんでうsか?
185デフォルトの名無しさん:2013/03/16(土) 13:35:11.46
可読性を捨ててるから
186デフォルトの名無しさん:2013/03/16(土) 14:25:18.72
デザイン時にレイアウトをシリアライズし実行時にデシリアライズするから動的なレイアウト生成より軽い
具体的にはBeginInitでDockやAnchorと言ったレイアウト調整を省略する代わりに
デザイン時に得られたロケーションやサイズを設定してやる
PerformLayoutで最終調整しEndInitでレイアウトエンジンを有効化

という建前だけど実際どうなのかは知らない
187デフォルトの名無しさん:2013/03/16(土) 15:54:32.24
ということは、なるべくデザイナーで配置していって、プロパティも右下のところで設定していったほうがよさそうですね
いつも、最初から作り直すためにForm_loadのところでプロパティの変更してました
188デフォルトの名無しさん:2013/03/16(土) 16:55:37.69
おい、スレ立てるまでもない質問はここでスレ落ちてるから立てて
189デフォルトの名無しさん:2013/03/16(土) 17:56:21.88
HSPスレで聞いたのですがC#でゲーム作る場合ってマルチプラットフォームで動かすのはどうやるのでしょうか?
190デフォルトの名無しさん:2013/03/16(土) 18:03:31.63
>>189
XNA Frameworkのことかな?
マルチプラットフォームといってもWindowsとxbox360くらい。
アップデートはもう終わってて新バージョンは出ない。
191デフォルトの名無しさん:2013/03/16(土) 18:03:46.22
HSPスレで聞けばいいじゃない

まあC#ゲームをファミコンで動かす方法は知らないなぁ
192デフォルトの名無しさん:2013/03/16(土) 18:03:55.74
ゲーム製作の話題はゲーム製作技術板へ
193デフォルトの名無しさん:2013/03/16(土) 18:20:29.80
C#はVita開発でも使っていてソニーがSDK配っているよね
でもC#がマルチプラットフォームと言うのには違和感あるw
194デフォルトの名無しさん:2013/03/16(土) 18:47:08.43
195デフォルトの名無しさん:2013/03/16(土) 19:01:29.34
monoだな
196デフォルトの名無しさん:2013/03/16(土) 21:28:07.99
>>178
ありがとうございます。良い感じにできました。
197デフォルトの名無しさん:2013/03/16(土) 21:37:59.00
c#にてwebkit.netブラウザ取り付けたのですがJavaScriptを使おうとしてもAjaxが使えません…
Getでのリクエストが不安定でNETWORK_ERROR: XMLHttpRequest Exception 101が度々出てしまいます…
別ドメインからのXmlHttpRequestだからだとは思うのですがwebkit.net自体に回避策はないのでしょうか?
198デフォルトの名無しさん:2013/03/16(土) 21:51:12.19
アプリを画面部分とロジック部分に分けて、
monoを使ったLinux向けと、Visual C#を使ったWindows向けの
同時開発をしたいんですけど、Visual Studio 2012 Expressで
できますか?
199デフォルトの名無しさん:2013/03/16(土) 21:54:24.18
VSでMono使うのは無理
200デフォルトの名無しさん:2013/03/16(土) 21:55:04.06
ありがとう
201デフォルトの名無しさん:2013/03/16(土) 22:26:21.96
相対位置でコントロールを配置することってできますか?
このコントロールはcontrolの下、みたいな感じで…
202デフォルトの名無しさん:2013/03/16(土) 22:33:20.04
>>201
出来るよそういうメソッドを自分で書けば。
当たり前じゃないか。
203デフォルトの名無しさん:2013/03/16(土) 22:37:56.69
例えばAndroidのようなものはないよ
デフォルトではコンテナに対しての相対位置しかない
204デフォルトの名無しさん:2013/03/16(土) 23:39:14.19
WPF
205デフォルトの名無しさん:2013/03/17(日) 00:19:32.29
例外を出したアプリケーションは必ず止まるんですかね?

何か不具合があったらコードを99にして保存してくれと言われたんで
何か開発中に拾えなかった例外も99で保存しようと思ったんですが、
それだと、あらゆるところをcatch(Exception)でくくっておくしかないのか?
206デフォルトの名無しさん:2013/03/17(日) 00:43:31.03
.Net自体のソースコードは公開されてますか?
207デフォルトの名無しさん:2013/03/17(日) 00:49:42.63
>>205
例外の伝播でぐぐれ
208デフォルトの名無しさん:2013/03/17(日) 00:55:05.30
209デフォルトの名無しさん:2013/03/17(日) 00:57:43.32
>>205
AppDomain.UnhandledExceptionってのがあって
210デフォルトの名無しさん:2013/03/17(日) 01:24:10.41
質問です。
Formを継承したとあるクラスのKeyDownのイベントが呼ばれないです。
イベントハンドラは登録されています。KeyPreview=trueにもなっています。
フォーカスが来ていないのではないかという意見を過去スレでも見たのですが、フォーカスをコードで与えてみても呼ばれませんでした。
その他に考えられる原因としては、WPF相互運用のElementHostがフォームにFillで貼り付けられているのですが、これが原因でしょうか?
211デフォルトの名無しさん:2013/03/17(日) 01:26:25.62
コードで与えたあと、本当にフォーカスが得られているか確認したか?
212デフォルトの名無しさん:2013/03/17(日) 01:29:57.04
>>207
>>209
ありがとうございました。
213デフォルトの名無しさん:2013/03/17(日) 01:47:55.76
214デフォルトの名無しさん:2013/03/17(日) 04:51:51.16
>>210
拾えないキーもあるからな
本当にイベントが呼ばれていないのか、よばれても正しい処理が出来ていないから流れているだけなのかきちんと確認したか?
215デフォルトの名無しさん:2013/03/17(日) 04:56:31.26
継承してごにょにょやってるくらいならどっかでメッセージ殺してる可能性もあるわな
まあゴミクズの書くコードなんて想定できる原因が多すぎてコードでも張らなきゃ答えられんわ
216デフォルトの名無しさん:2013/03/17(日) 06:41:22.62
答えてんじゃん
217デフォルトの名無しさん:2013/03/17(日) 06:57:41.30
解らないなら無理して答えなくて良いのに
218デフォルトの名無しさん:2013/03/17(日) 10:18:03.19
>>210
Show()のあとにApplication.Run(form);
をすればいいよ
219デフォルトの名無しさん:2013/03/17(日) 15:46:33.29
ゆとり言語C#
220デフォルトの名無しさん:2013/03/17(日) 19:12:30.96
ポインタが見事に隠ぺいされちゃってるもんだからね
221デフォルトの名無しさん:2013/03/17(日) 19:29:47.37
ポインタが扱えないものは全てゆとり言語なの?
222デフォルトの名無しさん:2013/03/17(日) 19:41:16.54
C#はポインタ使えるで
限定的だけど
223デフォルトの名無しさん:2013/03/17(日) 19:42:28.41
いーじゃねーか。ゆとりでも使える言語って。素晴らしくね?

で、いにしえより伝わる例の言葉を。
「ゆとりってゆーやつがゆとりなんだ。ばーか。」
224デフォルトの名無しさん:2013/03/17(日) 19:47:40.40
馬鹿でも使えるって素晴らしいことだよな
カメラなんて持て囃されたろ

困るのは仕事がなくなる奴だけ
225デフォルトの名無しさん:2013/03/17(日) 19:54:21.16
オートマしか運転できないアホとおんなじや
226デフォルトの名無しさん:2013/03/17(日) 20:03:36.10
と、いつまでも大先生でいたいマヌケが何か申しております
227デフォルトの名無しさん:2013/03/17(日) 20:03:45.18
現実ではマニュアルが必要なのは
一部のカーオタと土方のみという

現実でむき出しのポインタが必要なのは
一部のプログラミングオタと土方のみという

たしかに秀逸なメタファーだな
228デフォルトの名無しさん:2013/03/17(日) 20:03:49.31
馬鹿でも使えるから馬鹿のままでいいと思ってる馬鹿は問題
229デフォルトの名無しさん:2013/03/17(日) 20:06:50.64
と、いつまでも大先生でいたいマヌケが何か申しております
230デフォルトの名無しさん:2013/03/17(日) 20:08:56.97
ポインタがないからC#では実現できないアルゴリズムとかあるの?
231デフォルトの名無しさん:2013/03/17(日) 20:11:13.58
優秀なプログラマがやりたいことをその言語でコーディングできないのがドカタ用言語
232デフォルトの名無しさん:2013/03/17(日) 20:16:55.90
>>230
アルゴリズムのレベルでは存在しないでしょ

つーかunsafeあるし
233デフォルトの名無しさん:2013/03/17(日) 20:29:29.58
車好きがオートマしか運転できないw
234デフォルトの名無しさん:2013/03/17(日) 20:43:00.08
以前はF1もオートマだったけどな
235デフォルトの名無しさん:2013/03/17(日) 20:44:49.21
車好き = 言語好き

車のエアロパーツ(笑)つけたりカスタマイズして喜ぶ人 = 俺言語仕様を妄想したり言語仕様への不満を無駄にカキコしたりする人
236デフォルトの名無しさん:2013/03/17(日) 20:50:44.33
ポインタの主用途って可変長配列と参照渡しと不具合の作り込みだっけ
最後のはC#では難しいな
237デフォルトの名無しさん:2013/03/17(日) 20:56:50.43
昔はみんなアセンブラやCでゴリゴリ書いてたのに
池沼でも理解できるように設計された言語使って俺スゲエとか威張ってんだぜw
パネェw
238デフォルトの名無しさん:2013/03/17(日) 21:21:08.38
今は池沼やゆとりでも簡単に書ける程度のプログラムを
昔の奴らは必死こいてゴリゴリ書いて作って俺スゲエとか威張ってたんだぜ
239デフォルトの名無しさん:2013/03/17(日) 21:23:11.67
じゃあお前は池沼と認めるんだね
240デフォルトの名無しさん:2013/03/17(日) 21:28:49.77
頭悪い話が続いてるけど、ディスクリート(意味わからなければググれ)で
今時のコンピュータは作れない。

ソフトウェアも同じこと。
241デフォルトの名無しさん:2013/03/17(日) 21:39:59.45
頭悪いのはお前
表面的な理解では薄っぺらいものしか作れない
242デフォルトの名無しさん:2013/03/17(日) 22:47:41.67
だから。ばかってゆーやつが(ry
いい加減学習しろよ。語彙が少ないことを自分で宣伝してどうするんだ。
243デフォルトの名無しさん:2013/03/17(日) 22:57:25.09
自分用のものを作るだけだからC#でも十分
244デフォルトの名無しさん:2013/03/17(日) 23:36:13.40
そりゃ馬鹿が大量に増えたわけだから
馬鹿にも作れるような環境を整備したと、それがC#
245デフォルトの名無しさん:2013/03/17(日) 23:41:20.71
ポインタない、メモリ管理自動楽だ楽だ言うてる奴が一番バグを仕込ませてる件
246デフォルトの名無しさん:2013/03/17(日) 23:59:08.16
中途半端にメモリ管理されてる分、手動で開放する必要がある場所を探すのに苦労する
247デフォルトの名無しさん:2013/03/18(月) 00:11:02.82
>>230
ダブルポインタ(笑)がないと二進木が実装できないって、主張してるうんこがいる。
248デフォルトの名無しさん:2013/03/18(月) 02:32:57.14
そういうのって自分の能力のなさの主張でしかないけど
中卒を公然と晒してるようなもんで何が楽しいのかね
249デフォルトの名無しさん:2013/03/18(月) 06:35:44.70
結構いい流れだったのに>>219あたりから始まったキチガイの自作自演で
簡単に荒れるのなおまえら
250デフォルトの名無しさん:2013/03/18(月) 16:02:10.78
だってC#ごとき出来るからって威張るんだもん
251デフォルトの名無しさん:2013/03/18(月) 17:05:57.47
より正確にはC#ができるくらいで威張るなと威張って言う奴が居る
252デフォルトの名無しさん:2013/03/18(月) 17:24:25.81
再帰的だな
253デフォルトの名無しさん:2013/03/18(月) 19:00:35.54
日本語が違うよ在日
254デフォルトの名無しさん:2013/03/18(月) 21:51:05.86
>>253=チョン
255デフォルトの名無しさん:2013/03/18(月) 22:00:08.45
近頃の若者はポインタ嫌だとかほざいてすぐC#だのJavaだのに逃避しやがる
256デフォルトの名無しさん:2013/03/18(月) 22:07:26.88
初めて覚えた言語がJavaとかの馬鹿ってどういうふうにポインタ機能やメモリの管理の自動化が隠蔽されてるかって
そういうありがたみが解らないんだろうな、なんか可哀そう
257デフォルトの名無しさん:2013/03/18(月) 22:19:11.60
お前がな
258デフォルトの名無しさん:2013/03/18(月) 22:21:01.46
勝手に人のことカワイソがっててなかなか都合のいい頭お持ちですわアハーン
259デフォルトの名無しさん:2013/03/18(月) 22:51:04.18
C#はC++を使ってる人が楽したいときに使う言語なんよ
君たちみたいな低能ドカタが最初に学ぶ言語じゃないんよ
260デフォルトの名無しさん:2013/03/18(月) 23:02:36.23
C#とc++でもc++/cliなら一緒じゃん
261デフォルトの名無しさん:2013/03/18(月) 23:07:01.98
C++/CLIとかC++とC#の糊のようなもんだから
262デフォルトの名無しさん:2013/03/18(月) 23:28:21.65
C++ってリーナスにウンコ呼ばわりされてる弩低脳プログラマの集団が日常的に使っているくっさい言語ですかw?
勘弁してくださいよ旧態的な・・・
263デフォルトの名無しさん:2013/03/18(月) 23:33:28.94
そんな見え透いた餌に誰が掛かるか
264デフォルトの名無しさん:2013/03/18(月) 23:34:28.91
ふん。言語の優劣を語ってる時点で問題ありだな。
我々は求められた環境に対応するだけだよ。

‥‥カッコよく書こうと思ったが出来なかった。
265デフォルトの名無しさん:2013/03/18(月) 23:38:38.82
選ぶ道なんてなかった
全ては与えられた
266デフォルトの名無しさん:2013/03/18(月) 23:49:33.12
荒らしの餌になるなよ
267デフォルトの名無しさん:2013/03/19(火) 00:27:44.62
現時点でゲーム用ライブラリで定番のはなんですか?
268デフォルトの名無しさん:2013/03/19(火) 00:32:49.47
XNA
269デフォルトの名無しさん:2013/03/19(火) 00:54:38.42
XNAは終わった開発環境
270デフォルトの名無しさん:2013/03/19(火) 01:15:23.31
ライブラリというかミドルウェアだけど
Unity3DがC#に限らず全言語全プラットフォーム中で今一番勢いあるな
271デフォルトの名無しさん:2013/03/19(火) 09:31:27.67
VB「僕のことも忘れないで」
272デフォルトの名無しさん:2013/03/19(火) 09:40:22.01
Silverlight「...」
273デフォルトの名無しさん:2013/03/19(火) 09:41:23.96
XNA「...」
274デフォルトの名無しさん:2013/03/19(火) 09:42:19.95
WPF「こっち見んな...」
275デフォルトの名無しさん:2013/03/19(火) 10:40:11.80
DirectX.NET「えっ?」
276デフォルトの名無しさん:2013/03/19(火) 11:21:29.24
Unityを覚えとけばいい感じですかね
Unityで作られた基本無料系のブラウザゲームもどこかで見た覚えがあるので
C#もwebで使われるものなんですね
とりあえずUnity覚えてみます
277デフォルトの名無しさん:2013/03/19(火) 11:24:20.52
いやブラウザプラグインで動くのはwebとは言わん。ブラウザの枠を借りた普通のアプリ。
webというとサーバーで動くものだけど、C#ってそっち(ASP.NET)の方がむしろ多いんじゃないの。
278デフォルトの名無しさん:2013/03/19(火) 11:37:46.53
印刷物を作る際に、印刷するデータをフォームで作ってから印刷物のクラスに渡し、
印刷物の方ではデータをただ上から下まで出力するだけにするのがいいのか、
元のデータを渡して、その整形や計算を印刷物のクラスにまかせるのがいいのか悩みます。

一般的にはどのようにしているのでしょうか。
279デフォルトの名無しさん:2013/03/19(火) 11:40:30.78
サードのレポート作成ツールを利用します
280デフォルトの名無しさん:2013/03/19(火) 20:35:46.93
指定時間になったらお知らせしてくれるソフトが作りたいんですが
11:35を登録すると毎日11:35にBeepを鳴らすようにしたいです
そこで質問なんですが、
timerで
1. 11:35だったらBeepを鳴らす
2. 11:35より前だったらなにもしない
3. 11:35過ぎてたらなにもしない
っていうふうにやってみたんですが、1の時、タイマーを止めました

ソフトを立ち上げっぱなしの状態を考えると次の日は鳴らなくなってしまいます
こういう実装がいけないと思うのですが、どのようにするものでしょうか?
281デフォルトの名無しさん:2013/03/19(火) 20:38:14.02
プログラミング以前の頭の問題
282デフォルトの名無しさん:2013/03/19(火) 20:40:31.02
>>280
24時間SLEEPさせるといいよ
283デフォルトの名無しさん:2013/03/19(火) 20:43:17.06
あ、自己顕示欲が現れた
でも大して知識ないからそれくらいしかレスできないw
284デフォルトの名無しさん:2013/03/19(火) 20:48:55.88
一体何のためのタイマーなのか
285デフォルトの名無しさん:2013/03/19(火) 20:50:55.17
2chの専門板の中でも特にプログラム板は「それっぽい」やつらが「それっぽく」語るけど
基本的に2chにはカスしかいない
mixiをはじめとしてSNSが蔓延ったいま、名無しで活動する意味が殆どないんだから
ブログやSNSで名前を持って活動してても全然注目されない奴らが
未だに匿名コミュで無駄な時間潰してgdgdやってるだけ
2chで拾える情報に価値がある事もある、俺みたいのも時より情報ばら撒くから
けど本来は、2ch以外でちゃんとした情報を拾えるようになって居なきゃ、技術者としてゴミ

HNもって身内コミュ作れる奴なら、2chなどにはもう来ない
だからスキル高い奴から順番に匿名コミュからは消えていく
そういうネットの傾向が2chの各板で見られる

ゴミ捨て場の中にも、光るものがあるのが2chだった
が、その光るものは、違う場所にいってしまい
ゴミッカスだけが取り残されて、置いてけぼりにされてるのが現在の匿名コミュ
そういうネットの傾向が2chの各板で見られる
286デフォルトの名無しさん:2013/03/19(火) 20:56:26.81
crondのソースでも読めよ
いや、ソースは要らないからどうやって動いてるのか調べて、そのマネをしろ
287デフォルトの名無しさん:2013/03/19(火) 21:02:20.12
windowsなめんな。
288デフォルトの名無しさん:2013/03/19(火) 21:17:23.79
馬鹿自慢をやめろ!
289デフォルトの名無しさん:2013/03/19(火) 22:36:37.84
C#を使うってことは同時にMSシンパになることを意味しているからね
290デフォルトの名無しさん:2013/03/19(火) 22:38:55.45
ハゲ(パルマー)の手先のおフェラ豚め
291片山博文MZパンク ◆0lBZNi.Q7evd :2013/03/19(火) 23:21:27.46
11:35までの秒数を計算してタイマーをセット。時間が来たら音を鳴らして再計算してタイマーをセット。
292デフォルトの名無しさん:2013/03/19(火) 23:56:52.64
て言ったら信じるの?
293デフォルトの名無しさん:2013/03/20(水) 01:33:29.36
settings糞過ぎる
エラー吐けボケナス
294デフォルトの名無しさん:2013/03/20(水) 07:42:43.14
>>280
タスクスケジューラに新しいイベントを作成するがFAだな
295デフォルトの名無しさん:2013/03/20(水) 11:01:09.06
ついにネタがなくなったぽいな
296デフォルトの名無しさん:2013/03/20(水) 12:48:46.76
毎秒テキストファイルに書き込み続けるプログラムってHDDの寿命縮めますか?
縮むか縮まないかで言えば影響与えてるので縮むと思うんですけど、気にするレベルじゃないですかね?
297デフォルトの名無しさん:2013/03/20(水) 12:55:54.38
縮むか縮まないかで言えば縮むのだろうけど
そうするしかないのなら仕方が無いかと

ログファイルとか、常に即時書き込むのが普通だしね
(毎度フラッシュしないと、落ちた時にログが残らない事があるので)
298デフォルトの名無しさん:2013/03/20(水) 12:59:08.06
まあ今時プログラムからのIO命令と、実際のディスクIOなんて一致せんから気にするな
299デフォルトの名無しさん:2013/03/20(水) 13:04:27.25
何まじめな回答してるの?
それで普段の罪が相殺されると思ってるの?
300デフォルトの名無しさん:2013/03/20(水) 13:42:29.53
気にしないことにしますw
ありがとうございました
301デフォルトの名無しさん:2013/03/20(水) 18:37:03.93
基本クラスで宣言した配列の要素数を継承先の派生クラスで変更するにはどうすればいいのでしょうか?
302デフォルトの名無しさん:2013/03/20(水) 18:59:22.83
>>183
これの公式なソースありませんか?
303デフォルトの名無しさん:2013/03/20(水) 19:26:42.08
>>302
公式なソースもなんも>>186で言った通り。
デザイナソースからBeginEdit/EndEdit/PerformLayout/ResumeLayoutを外して実行すれば効果が分かるよ
304デフォルトの名無しさん:2013/03/20(水) 19:27:09.56
あるわけねえだろw
コードを誰が書いたか(人が書いたか自動生成か)でパフォーマンスに差が出たらオカルトだわw
305デフォルトの名無しさん:2013/03/20(水) 19:27:23.13
あぁBeginInitだったか
306デフォルトの名無しさん:2013/03/20(水) 19:30:15.02
芝生やす前によく確認しないと
ここが2chでよかったな
307デフォルトの名無しさん:2013/03/20(水) 19:31:27.05
>>306
馬鹿だろお前
308デフォルトの名無しさん:2013/03/20(水) 19:33:55.20
どんぐり精一杯の虚勢
309デフォルトの名無しさん:2013/03/20(水) 20:19:19.48
>>301
どこで宣言した配列でも要素数の変更はできないが
310デフォルトの名無しさん:2013/03/20(水) 20:46:08.39
>>301
こういうことか?
class Hoge {
int[] array = new int[GetArraySize()];
protected virtual int GetArraySize() { return 3; }
}
class HogeEx : Hoge {
protected override int GetArraySize() { return 5; }
}
でもコンストラクタで渡す方がいいと思う
311デフォルトの名無しさん:2013/03/20(水) 20:47:14.09
基底クラスだよ
312デフォルトの名無しさん:2013/03/20(水) 20:51:53.30
要領を得ない
313デフォルトの名無しさん:2013/03/20(水) 21:12:59.10
>>310
そういうことなんですが、>>310のように書くと
「フィールド初期化子は、静的でないフィールド、メソッド、またはプロパティ'GetArraySize()'を参照できません」
とエラーが出てコンパイルが通らないんです…
314デフォルトの名無しさん:2013/03/20(水) 21:14:35.87
>>313
コンストラクタで
315デフォルトの名無しさん:2013/03/20(水) 21:15:50.70
そりゃそうでしょうね
310が言うようにコンストラクタで取るか
仮想プロパティにして派生クラスでオーバーライドするか
好きな方を選んでください
316デフォルトの名無しさん:2013/03/20(水) 21:17:04.64
newする場所変えればいける
317デフォルトの名無しさん:2013/03/20(水) 21:26:06.49
オーバーライドして定数値を変えるっていうのは例外なくコンストラクタ引数に置き換えられる
class Hoge {
int[] array;
public Hoge() : this(3) { }
protected Hoge(int size) { this.array = new int[size]; }
}
class HogeEx : Hoge {
public HogeEx() : base(5) { }
}
この方が素直でいいよ
318デフォルトの名無しさん:2013/03/20(水) 23:25:40.32
プロはマニュアルを好み
素人はオートマチックを好む
319デフォルトの名無しさん:2013/03/20(水) 23:29:47.23
ITに関しては逆だろ
世の中の多くの人はVBA使えば一瞬で終わる作業に何時間もかけて給料貰ってんだから
320デフォルトの名無しさん:2013/03/20(水) 23:32:46.53
IT(笑)とか関係ないからw
単に>>318が馬鹿の一つ覚えなだけ。
どんな分野でもプロ故の手作業もあればプロ故の自動化もありうる。
321デフォルトの名無しさん:2013/03/20(水) 23:34:35.29
本格派ぶった素人がバカチョンカメラに手を出すのと同じ。
プログラミングの本質もしらずにプログラマ自称してるんだから
ドカタなんだし給料は低い。
322デフォルトの名無しさん:2013/03/20(水) 23:34:38.86
ITに関して言えば効率挙げても儲かるのは上の連中だけだしな
下っ端はつねに余力を残さないと金も仕事も無くなる
323デフォルトの名無しさん:2013/03/20(水) 23:41:49.46
誰にでもできるようなことをしている奴の仕事が価値はない
324デフォルトの名無しさん:2013/03/20(水) 23:44:55.79
C++を理解できない少数の秀才以外の頭が残念な人たちのために用意されたのがJavaC#なんだし
当然そういう人たちの仕事は価値がない
325デフォルトの名無しさん:2013/03/20(水) 23:49:02.17
煽り方から溢れる知性
326デフォルトの名無しさん:2013/03/20(水) 23:51:01.84
毎年思うけど、キ印の奴って何で温かくなると活発になるんだろうな。
爬虫類みたいに冬は冬眠でもしてるのかねw
327デフォルトの名無しさん:2013/03/20(水) 23:52:37.53
2年11ヶ月で切られると年度末に1ヶ月あくからです
328デフォルトの名無しさん:2013/03/20(水) 23:59:27.74
>>317
ありがとうございます!
>>317のコードを参考に書いたらうまくいきました!
329デフォルトの名無しさん:2013/03/20(水) 23:59:40.83
あーそれで憂さ晴らしって訳かw
まんざらありえないシナリオでもなさそうな気が
330デフォルトの名無しさん:2013/03/21(木) 00:00:44.29
お前らも明日はわが身だよ
331デフォルトの名無しさん:2013/03/21(木) 00:06:57.18
「ら」?
お前みたいな無職には関係のない話だろ?
勝手に自分を含めるなって
332デフォルトの名無しさん:2013/03/21(木) 00:09:49.93
無職が余力とか喋ってると変な笑いが出るよね
333デフォルトの名無しさん:2013/03/21(木) 00:11:31.65
価値マイナスの不良債権がうるせーな。
334デフォルトの名無しさん:2013/03/21(木) 00:12:28.86
もう少し高尚に煽ってくれよ。
C#やってるとこんな頭になるのか?
335デフォルトの名無しさん:2013/03/21(木) 00:15:21.50
自演なのがバレバレ
336デフォルトの名無しさん:2013/03/21(木) 00:18:48.12
C++をマスターしている者ならC#は面白いと感じるだろうが
ド素人がC#なんかで関数をただガチャガチャ並べてプログラミングだ!言ってる姿を想像すると本当に馬鹿馬鹿しい
そういうアホはまずPHPのような馬鹿に馬鹿をかさねたスクリプト言語を扱ってドカタ仕事するのがふさわしい
337デフォルトの名無しさん:2013/03/21(木) 00:20:33.37
あー分かった分かった
プロテインはすばらしいね
338デフォルトの名無しさん:2013/03/21(木) 00:21:49.43
マスターになるには?
評議会で認められる必要があります
特典は?
弟子を取ることができます
339デフォルトの名無しさん:2013/03/21(木) 00:24:42.95
マースターベーションしているの略だろどうせ
340デフォルトの名無しさん:2013/03/21(木) 00:28:51.54
さいしょからC#みたいな楽ちん言語でプログラミングを始めようとする馬鹿の浅はかさといったらたまったもんじゃない
こういうプログラミングの本質をつかめない馬鹿言語では馬鹿なプログラミング技法しか身につかないい
そんな馬鹿思考で凝り固まった自称プログラマにはC++は手につかない、理解できない
C++をマスターすればすべての言語が楽に感じる。だからC++を忌避する馬鹿は本当に負け犬
341デフォルトの名無しさん:2013/03/21(木) 00:29:33.44
現実と理想のギャップに思い悩むとこういうことになるからよく覚えとけ
342デフォルトの名無しさん:2013/03/21(木) 00:33:08.71
>>301を見て可変長配列だからIList使えばいいと思ったんだが>>317みたいな方法もあったのか
どっちの方がいいのだろう
343デフォルトの名無しさん:2013/03/21(木) 00:35:34.46
どっちがいいとかじゃなくて後でサイズを変更する必要があるかどうかだろ
っていうか配列もIList実装してるけど
344デフォルトの名無しさん:2013/03/21(木) 00:36:58.78
Arrayじゃなきゃいけない理由があるのかもしれないし何とも言い難い
345デフォルトの名無しさん:2013/03/21(木) 10:46:26.54
別スレッドから定期的(短い間隔で)に呼ばれる
メソッドがあるのですが、以下の2通りの方法で
コストが低い(負荷が低い方法はどれになるのでしょうか?)

1案(デリゲートを使う)

private void Test(int value)
{
 MethodInvoker = xDelegate = delegate
 {
  ※valueをフォームに表示する処理
 }

 if(Form.InvokeRequired)
 { Form.BeginInvoke(xDelegate); }
 else
 { xDelegate(); }

2案

private void Test(int value)
{
 if(Fom.InvokeRequired)
 { Form.BeginInvoke(ChangeForm); }
 else
 { ChangeForm(value); }
}

private void ChangeForm(int value)
{
  ※valueをフォームに表示する処理
}
346345:2013/03/21(木) 10:48:34.77
ちょっと間違えてました。

 MethodInvoker = xDelegate = delegate =>×
 MethodInvoker xDelegate = delegate =>○
347デフォルトの名無しさん:2013/03/21(木) 11:06:03.59
>>345
一緒
BeginInvokeとかフォームの更新とかIOとか別スレッドで行うほどの処理に比べたら誤差
全くもって無意味
どうでもいい
348デフォルトの名無しさん:2013/03/21(木) 14:01:13.30
ToolStripContainer上にToolStripを縦に2列置いた初期状態から
ToolStrip1とToolStrip2を横に並べて1行にした場合や再度2列に戻したりした場合に
ToolStripContainerの高さが自動で1列や2列になるようにするにはどうすればよいのでしょうか?
349デフォルトの名無しさん:2013/03/21(木) 14:39:59.82
thisが省略してあるところ全てにthisをつけるコマンドありませんか?
350デフォルトの名無しさん:2013/03/21(木) 15:05:58.76
ない
351デフォルトの名無しさん:2013/03/21(木) 15:59:09.63
手抜きすんな
352デフォルトの名無しさん:2013/03/21(木) 16:02:03.57
this付けるには構文解析が必要
353デフォルトの名無しさん:2013/03/21(木) 16:08:00.71
検索と置換で「.this」→「」すべて置換でいいじゃん
354デフォルトの名無しさん:2013/03/21(木) 16:08:35.72
「this.」だた
355デフォルトの名無しさん:2013/03/21(木) 16:10:34.16
「.*」→「this」すべて置換でいいじゃん
356デフォルトの名無しさん:2013/03/21(木) 16:11:50.71
たまにクラスメンバに全部this付けろっていう人いるけど
なんか意味あるの?
357デフォルトの名無しさん:2013/03/21(木) 16:13:27.33
ファイル名に使えない文字をうまいこと置き換えてくれるメソッドってどこにあったっけ
358デフォルトの名無しさん:2013/03/21(木) 16:15:03.04
「this.」を一旦すべて 「」に置き換えてから「hoge」→「this.hoge」→すべて置換で地道にやれ
359デフォルトの名無しさん:2013/03/21(木) 16:17:30.55
>>356
見分けやすいし置換えも楽じゃん
360デフォルトの名無しさん:2013/03/21(木) 16:22:35.49
一定のアルゴリズムで統一しないと勃起が納まらない人もいるんだよ
361デフォルトの名無しさん:2013/03/21(木) 16:29:17.60
>>357
直接的なのはないはず
Path.GetInvalidFileNameCharsで取れるchar[]を使ってString.Replaceするとか
ただこの辺のメソッドはファイルシステムを考慮しない文字群だがな
362デフォルトの名無しさん:2013/03/21(木) 16:39:13.38
>>361
そうなのか・・・ありがとう
363デフォルトの名無しさん:2013/03/21(木) 19:35:47.58
>>362
これにも注意
CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, and LPT9
364デフォルトの名無しさん:2013/03/21(木) 20:00:47.74
なにそれ
365デフォルトの名無しさん:2013/03/21(木) 20:49:14.76
使えないファイル名
366デフォルトの名無しさん:2013/03/21(木) 21:25:19.55
懐かしのconconクラッシャー
367デフォルトの名無しさん:2013/03/21(木) 21:28:31.99
メソッド(笑)
368デフォルトの名無しさん:2013/03/21(木) 21:35:27.45
ぶっちゃけ言語を変えたって開発効率は変わらないのよね
馬鹿は馬鹿のまま、コードがろくに書けないw
369デフォルトの名無しさん:2013/03/21(木) 21:57:20.94
0 * c = 0
370デフォルトの名無しさん:2013/03/21(木) 22:08:24.04
きもすぎww
371デフォルトの名無しさん:2013/03/21(木) 23:24:32.82
免許証の写真でも改めて見たのか?
372デフォルトの名無しさん:2013/03/21(木) 23:50:49.81
なんというつまらなさ
373デフォルトの名無しさん:2013/03/22(金) 12:19:59.82
WinFormsでもWPFでもいいので見た目がmac風なUIライブラリありませんか?
こんな感じのリストボックスやツリーにしたいのです
http://www.qnap.com/images/products/Application/iTunes/itunes-server-02.jpg
374デフォルトの名無しさん:2013/03/22(金) 12:24:30.81
WPFかQt(C++併用)
375デフォルトの名無しさん:2013/03/22(金) 13:18:51.50
マカーはアホだな。mac使えばいいだけじゃん。
376デフォルトの名無しさん:2013/03/22(金) 13:54:28.00
【速報】 SCE、PS4のゲーム開発環境はC# (Mono) だと発表、Unity + PlayStation Mobileのコラボ
http://engawa.2ch.net/test/read.cgi/poverty/1363927845/
377デフォルトの名無しさん:2013/03/22(金) 14:23:35.09
OwnerDrawするなり一から書くなり好きに作れば良いじゃん
既存のコントロールを使わなくちゃいけないなんて規則はないぞ
378デフォルトの名無しさん:2013/03/22(金) 14:34:58.18
素直にWPF使うのが軽くて早い
下手にWinFormsのコントロールに手を加えるとちらつきや挙動の制御に振り回される
糞重くなるしな
379デフォルトの名無しさん:2013/03/22(金) 14:37:55.93
でもWPFってWindows限定じゃん?
380デフォルトの名無しさん:2013/03/22(金) 14:50:09.44
PSMの延長か
381デフォルトの名無しさん:2013/03/22(金) 17:40:20.86
WPFが軽いってのは嘘だけどな。
382デフォルトの名無しさん:2013/03/22(金) 18:09:39.30
WPFは8ビット越えのDeep Colorを扱える?
もWinForms+DirectXで作ってあるのを移植したいがそこがググっても出てこなくて踏み切れないでいる。
383デフォルトの名無しさん:2013/03/22(金) 18:19:14.75
踏み切ってグモるだけ
384デフォルトの名無しさん:2013/03/22(金) 19:25:03.26
WPFで48bppのBitmapを扱うネタは出てくるんだがそれをそのまま表示するネタが見つけられない。
385デフォルトの名無しさん:2013/03/22(金) 19:52:18.44
そのままってのがどういう意味なのかにもよるが
取りあえずRgb48のBitmapSourceをImage.Sourceに指定して表示はできる
386デフォルトの名無しさん:2013/03/22(金) 19:57:00.29
http://int64.org/2009/03/01/using-hsl-colors-in-wpf/
Windows7以降でDeepColor対応のHDMI/DisplayPort接続の液晶なら↑でいけるんじゃね?
最近の大画面テレビはBD用にDeepColor対応してるのが多いしテレビに繋げて試してみたら?
387デフォルトの名無しさん:2013/03/22(金) 19:58:05.40
はよ
388デフォルトの名無しさん:2013/03/22(金) 20:02:34.65
質問した奴はハードのことまで
389デフォルトの名無しさん:2013/03/22(金) 20:52:15.15
WPFはDirectXだから速いで
390デフォルトの名無しさん:2013/03/22(金) 20:56:18.80
レイアウトエンジンとバインディングの遅さで台無し
391デフォルトの名無しさん:2013/03/22(金) 20:57:44.66
DeepColorなんて初めて聞いたが、
本当に人間は1677万色以上を区別できんの?
392デフォルトの名無しさん:2013/03/22(金) 21:00:19.63
>>391
え?君出来ないの?
うちの職員は新人研修で叩き込まれるが
393デフォルトの名無しさん:2013/03/22(金) 21:07:36.71
写真をぱっとみせられて何色使ってるかは分からんだろうなw
394デフォルトの名無しさん:2013/03/22(金) 21:11:20.16
このスレの程度なら、レス乞食かどうか見分ける技能を磨いた方がいい
395デフォルトの名無しさん:2013/03/22(金) 21:21:05.79
>>392
フルカラーは画家でも判断できないって昔のパソコン雑誌に書いてたけど。
396デフォルトの名無しさん:2013/03/22(金) 22:02:38.39
グラデーションの付いた画像の明度をいじったりすると24bitでは分解能が
まったく足りないね。なにせRGBが各8bitの階調しかないんだから。

あと、CTやMRIなんかの画像だと24bitでは病巣の造る微妙な影が潰れてしまって
話にならないらしい。
397デフォルトの名無しさん:2013/03/22(金) 22:08:48.49
今まで気にもしなかったけど
今後DPIの問題は必ず出るからWPFの方が無難に思える
398デフォルトの名無しさん:2013/03/22(金) 22:10:49.05
WinFormsなんてWPFが理解できない無能のための過去の遺物
399デフォルトの名無しさん:2013/03/22(金) 22:12:34.74
無能は再生産されてるから決して過去にはならない
400デフォルトの名無しさん:2013/03/22(金) 22:21:26.59
dobonがWPFに対応してくれたら移行するんだけどな
401デフォルトの名無しさん:2013/03/22(金) 22:53:07.49
そんな奴は移行しなくていいよ
WinFormsもまともに使えてない証拠
402デフォルトの名無しさん:2013/03/22(金) 23:16:02.61
>>397
いちおうWindows Formだって高DPIに普通に対応できるんだけどね。
俺は結局WPFは普及せずに終わる可能性の方が高いと思ってる。
403デフォルトの名無しさん:2013/03/22(金) 23:22:13.81
なんでそんなめんどくさい事に労力をかけないといけないのか
404デフォルトの名無しさん:2013/03/22(金) 23:23:20.86
少なくとWPFなら気にする必要がないからな
405デフォルトの名無しさん:2013/03/22(金) 23:34:24.43
>>401
そこまで極めたいわけでもないからね
dobonみたいなサイトからコピペで動くものがつくれればいいやって感じ
406デフォルトの名無しさん:2013/03/22(金) 23:35:18.28
>>396
比較画像とかある?
1ビット違うだけじゃ差がありすぎるでしょ?みたいな。
407デフォルトの名無しさん:2013/03/22(金) 23:39:39.18
>>403-404
Windows FormでもやることはほとんどAutoScaleModeをDpiにするだけ。
なんか勘違いしてないか。

旧VBのFormのGUIの単位がTwipsだったことを考えれば分かると思うけど
もともとMSはモニタの高DPI化はもっと早く実現すると想定していた。
408デフォルトの名無しさん:2013/03/22(金) 23:41:22.66
>>406
そんなNYSCのTVで地デジ(HD画質)の画質を体験させろというような話w
409デフォルトの名無しさん:2013/03/23(土) 00:12:16.55
>>395>>406
1677万色が満遍なく散りばめられた写真や映画などの自然画なら正解。
10億色になってもほとんどわからない。

ただイラストやアニメみたいなベタ塗りに近い(色が偏った)絵だと一目瞭然。
例えば24bitカラーで2色間のグラデーションだと256色しかないので馬鹿でも違いがわかる。

ようするにDeepColor/scRGBはアニメとエロゲのためにあるような規格ってことだ
410デフォルトの名無しさん:2013/03/23(土) 00:15:07.74
同じコストかけるなら解像度上げる方がニーズあるし綺麗に見えるし
>>409の言うように色も誤魔化しやすくなるしでいいわな
411デフォルトの名無しさん:2013/03/23(土) 00:16:19.08
フルカラーは知らないけど、
白黒なら医療用でそういう需要があるという話は聞いた事ある
412デフォルトの名無しさん:2013/03/23(土) 00:17:59.88
ただ、同じコストかっていうのは激しく疑問だ
413デフォルトの名無しさん:2013/03/23(土) 00:19:40.11
>>410
解像度あげまくって実際6ビットしかないのに疑似フルカラーで8ビットってのは最近のスマホでよくある方法だわな
414デフォルトの名無しさん:2013/03/23(土) 00:23:47.89
最近のスマホはディザで色分解能を上げてるわけじゃないと思うけど、
そういう手法なら30年以上前からある
415デフォルトの名無しさん:2013/03/23(土) 00:26:04.30
PAINT文でパターン指定して中間色を出すみたいな
416デフォルトの名無しさん:2013/03/23(土) 00:26:12.71
>>411
おれの本業はまさにそれだが、マンモなどの医療用は4kを越える高解像度、かつ12ビット以上だからぶっちゃけC#ではループが遅くて厳しい。
大枠のUIはC#で書いてるけど細部はCとアセンブラで書いてP/Invoke。
417デフォルトの名無しさん:2013/03/23(土) 00:27:21.28
>>416
unsafe使っても厳しいか
そりゃまそうだろうなあ
418デフォルトの名無しさん:2013/03/23(土) 00:29:33.25
まさにそれが意図した使い方だと思うけど
ピュアC#なんてC#しか使えない奴のハンデ戦みたいなもん
419デフォルトの名無しさん:2013/03/23(土) 00:29:58.94
そういう用途ではLinqは遅いよ。
420デフォルトの名無しさん:2013/03/23(土) 00:53:10.00
ただでさえ画像処理速度糞なのにDeepColorとかまともに動くのかよ
421デフォルトの名無しさん:2013/03/23(土) 01:09:56.82
遅くはないだろ。unsafe使えませんってレベルか?
422デフォルトの名無しさん:2013/03/23(土) 02:44:38.00
unsafeで処理する以前の段階が糞なんだよ
経験の浅い素人は恥ずかしいから黙ってたほうが良いよ
423デフォルトの名無しさん:2013/03/23(土) 02:49:24.22
経験が深い人ならせめてデコードっていえよ
424デフォルトの名無しさん:2013/03/23(土) 04:53:27.73
表示の話してるのにunsafeとか無能丸出し
425デフォルトの名無しさん:2013/03/23(土) 04:54:56.17
60fps出るのに遅い?

スキルに問題ありだね。
426デフォルトの名無しさん:2013/03/23(土) 04:57:23.85
unsafeで出来る処理の範囲なんて限られてるのに
やったこともないのに馬鹿の一つ覚えで言ってるんだな
427デフォルトの名無しさん:2013/03/23(土) 05:00:28.71
>>425
アイコンサイズですか?www
フォーマットやサイズ、同じフォーマットでも作成された環境でピンきりなのに60fps出るのに(キリッ とか馬鹿丸出しですよ
428デフォルトの名無しさん:2013/03/23(土) 05:06:25.76
>>427
おまえしか知らない仕様を次から次へと後出しされてもな。無能SEですか。

何をどうやろうとして糞なのか先に全部書け。
429デフォルトの名無しさん:2013/03/23(土) 05:11:25.35
>>428
>60fps出るのに遅い?(キリッ
おまえしか知らない仕様で語られてもね(w
430デフォルトの名無しさん:2013/03/23(土) 05:14:12.72
馬鹿は見苦しいから黙ってろよ
431デフォルトの名無しさん:2013/03/23(土) 05:49:38.62
目糞鼻糞w
432デフォルトの名無しさん:2013/03/23(土) 05:55:49.65
xboxがc#なのに遅いはないわw
433デフォルトの名無しさん:2013/03/23(土) 07:19:41.43
ToolStripContainer上にToolStripを縦に2列置いた初期状態から
ToolStrip1とToolStrip2を横に並べて1行にした場合や再度2列に戻したりした場合に
ToolStripContainerの高さが自動で1列や2列になるようにするにはどうすればよいでしょうか?
434デフォルトの名無しさん:2013/03/23(土) 08:24:24.21
>>417-432
XboxのC#はよく知らんがBitBltのような物で単に転送しているだけだろ?

↓のような巨大ループで1フレームで60fpsを維持できるかって話だ。
for (int y = 0; y < height; y++) {
for (int x = 0; x < width; x++) {
//加工
}
}

>>416の用途は事前に用意してある画像を単に表示するだけではなく、リアルタイムで加工しながら表示するというものだ。
これMac/Objective-Cで作ってある物だが元データは1つでそこから操作に応じてリアルタイムに切り出して表示している。
http://www.youtube.com/watch?v=PRHQFiymQKs
http://www.youtube.com/watch?v=kor1-ohgiW0
435デフォルトの名無しさん:2013/03/23(土) 08:31:57.84
こんなループをC/C++並に高速化できるか?
unsafe使ったところでfor文は速くならんだろ?
代案あるか?

for (p = 0; p < 4; p++) {
for (y = 0; y < 2048; y++) {
for (x = 0; x < 4096; x++) {
z++;
}
}
}
436デフォルトの名無しさん:2013/03/23(土) 08:43:58.76
Cの関数を呼ぶ
437デフォルトの名無しさん:2013/03/23(土) 09:29:35.14
全部ループで回す原始的な方法を止める
438デフォルトの名無しさん:2013/03/23(土) 09:30:32.32
C#って遅いの?
439デフォルトの名無しさん:2013/03/23(土) 09:32:08.25
宇宙からみたら超速いよ
440デフォルトの名無しさん:2013/03/23(土) 09:34:01.36
>>434-435
http://davidthomasbernal.com/blog/2008/03/13/c-image-processing-performance-unsafe-vs-safe-code-part-i/
http://davidthomasbernal.com/blog/2008/03/14/c-image-processing-performance-unsafe-vs-safe-code-part-ii/
https://github.com/dtb/CSharp-Image-Processing-Sample
unsafe      194           0
IntPtr       262          35%
GetPixel  238,299 (~4 min.) 122,734%

これで1桁msが出るようになればいいんだろ?
簡単じゃんwww
441デフォルトの名無しさん:2013/03/23(土) 09:35:55.15
>>434
なにこれ凄い
Objective-Cも大概なくらい遅いがこのくらいはできるもんなのか
442デフォルトの名無しさん:2013/03/23(土) 09:37:18.46
単純なループがC#がCより遅いとかあるの?
443デフォルトの名無しさん:2013/03/23(土) 09:37:44.17
C#はObjective-Cの足下にも及ばないってことだよ
時間の無駄なのでC#なんてやめてObjective-Cを覚えなさい
444デフォルトの名無しさん:2013/03/23(土) 09:54:38.01
ループの内側に計算式があるだろうしどう頑張っても遅いんじゃね?
445デフォルトの名無しさん:2013/03/23(土) 09:59:09.17
並列化すればok
446デフォルトの名無しさん:2013/03/23(土) 09:59:22.34
GPUでやれ
447デフォルトの名無しさん:2013/03/23(土) 09:59:37.70
448デフォルトの名無しさん:2013/03/23(土) 10:07:31.52
C#を極めて無いから遅いだけじゃないの?
449デフォルトの名無しさん:2013/03/23(土) 10:15:27.02
C#が遅いつってもせいぜいCの2倍程度でしょ
450デフォルトの名無しさん:2013/03/23(土) 10:17:11.73
C#が遅いのってフォームだけじゃないの?計算が遅いとかありえるの?
451デフォルトの名無しさん:2013/03/23(土) 10:21:09.30
無いよ
今はJITでCとの誤差1%以内になる
452デフォルトの名無しさん:2013/03/23(土) 10:22:53.03
浮動小数点はクソマジメにIEEE仕様に準拠している関係で100倍くらい遅い
453デフォルトの名無しさん:2013/03/23(土) 10:25:28.93
>>446
それC#とは別のCモドキ言語や
454デフォルトの名無しさん:2013/03/23(土) 10:26:40.76
どうせGPUでやるんだからホスト言語はどうでもいいってことだろ
455デフォルトの名無しさん:2013/03/23(土) 10:28:33.31
今時CPUで画像処理をやって遅いとかただのアホ、てことです
456デフォルトの名無しさん:2013/03/23(土) 10:31:07.19
C#は基本的にGPUを使うようになってないから
457デフォルトの名無しさん:2013/03/23(土) 10:31:26.94
60fpsって1フレーム16msで処理しないといけないし、他の雑処理を抜いても
>>440>>447の194msを16ms以内まで高速化とかC#だけでは無理だろ。
458デフォルトの名無しさん:2013/03/23(土) 10:34:30.67
Cでも無理
459デフォルトの名無しさん:2013/03/23(土) 10:34:56.59
そもそもWPFでGPGPUなんて出来るのか?
460デフォルトの名無しさん:2013/03/23(土) 10:38:51.19
Cでは10年前の低スペックPCですら出来ているよ
SIMD使ったりはしているけどね
461デフォルトの名無しさん:2013/03/23(土) 10:39:50.84
だからそれをC#でも使えばいい
462デフォルトの名無しさん:2013/03/23(土) 10:40:25.11
なんでWPFなんだよw
SharpDXでも使ってDirectCompute呼ぶとか
軽くラッパー書いて普通にC++経由でCUDA使えばいいだけ
463デフォルトの名無しさん:2013/03/23(土) 10:45:43.60
グダグダ言ってないで話まとめろよ
何使えばできるとかお前らわかってるんだろ?
464デフォルトの名無しさん:2013/03/23(土) 10:45:45.71
えー
C#だけでCに負けたくないんだけど
465デフォルトの名無しさん:2013/03/23(土) 10:48:51.15
>>464
そもそもC#だけじゃ何も作れない。IOすらできない。
466デフォルトの名無しさん:2013/03/23(土) 10:50:03.71
GPUだのマルチスレッドだのは枯れた技術の最適化手法であって研究段階の進化を続けているモノに適用するのは
実行速度のために進化速度を犠牲にする真正の馬鹿がやる行為。
467デフォルトの名無しさん:2013/03/23(土) 10:52:15.00
  .ni 7      /ノ   ヽ\   壁に向かってしゃべってろゴミ
l^l | | l ,/)   / /゚ヽ  /゚ヾ\      .n
', U ! レ' / /   ⌒   ⌒  \   l^l.| | /)
/    〈 |  (____人__)  |   | U レ'//)
     ヽ\    |lr┬-l|   /  ノ    /
 /´ ̄ ̄ノ    ゙=ニ二"   \rニ     |
468デフォルトの名無しさん:2013/03/23(土) 10:52:18.00
GPUはともかくマルチスレッドなんか楽勝でできるだろw
シングルスレッドで画像処理が速いだの遅いだのそれこそアホかと
C#で簡単なのはもちろん、C++でもOpenMP使えば楽勝だわ
469デフォルトの名無しさん:2013/03/23(土) 10:52:48.45
>>462
この話の発端は「WPFでディープカラーを扱えるか?」だ。
扱えるくさいけど遅くて使い物にならないんじゃね?ってことでここまで話が伸びている
470デフォルトの名無しさん:2013/03/23(土) 10:54:53.29
>>469
いやいろいろ難しい計算してその画像を生成するときの話でしょ?
特にそこをWPFで書かなきゃいけない必然性はない
471デフォルトの名無しさん:2013/03/23(土) 10:59:00.55
16ms以内という要件だとスレッドを呼び出すコストが大きすぎてマルチスレッドは無理だろ
472デフォルトの名無しさん:2013/03/23(土) 10:59:52.15
表示がWPFならShaderEffectで何とかするのが最善じゃないかな
473デフォルトの名無しさん:2013/03/23(土) 11:02:14.65
ファイル→Image(Bitmap) が遅いんだからどうあがいても無駄
474デフォルトの名無しさん:2013/03/23(土) 11:02:55.82
>>470
上の方のレスを見ればわかるがUIの多DPI対応のために生DirectXからWPFに移植できるかという話だ。
475デフォルトの名無しさん:2013/03/23(土) 11:05:37.68
お前ら共通の話題を話し合ってるのかと思ってたら
思い思いの独り言を言ってただけなんだな
476デフォルトの名無しさん:2013/03/23(土) 11:05:55.16
new Bitmap の間にネイティブなら表示まで終わってる
C#は糞
477デフォルトの名無しさん:2013/03/23(土) 11:07:18.75
>>475
便所の落書きで何言ってんだ
478デフォルトの名無しさん:2013/03/23(土) 11:09:28.18
スレッドプールなら0msだよ
479デフォルトの名無しさん:2013/03/23(土) 11:13:11.43
お前ら妄想だけでいってるだけなんだな
480デフォルトの名無しさん:2013/03/23(土) 11:14:07.61
おい口だけ野郎ども、これforkして作って見せろよwwwwwwwwwww
https://github.com/dtb/CSharp-Image-Processing-Sample
481デフォルトの名無しさん:2013/03/23(土) 11:18:25.66
何を?
482デフォルトの名無しさん:2013/03/23(土) 11:26:09.89
>>478
スレッドプールに変数渡している間にネイティブなら表示まで終わってる
C#は糞
483デフォルトの名無しさん:2013/03/23(土) 11:26:50.49
>>480のどこに何度も貼る価値があるのか
せめて閾値の算出部分も組めよ
484デフォルトの名無しさん:2013/03/23(土) 11:33:28.28
プールできる量なんてたかが知れてるし
485デフォルトの名無しさん:2013/03/23(土) 11:35:49.18
使う画像が決まっててかつ少量でなければプールなんて無駄糞
486デフォルトの名無しさん:2013/03/23(土) 11:36:39.26
お前ら妄想で言ってるだけなんだな
487デフォルトの名無しさん:2013/03/23(土) 11:37:05.26
めんどくさくなってきたからsurfaceでも買ってくる
488デフォルトの名無しさん:2013/03/23(土) 11:46:48.64
お前ら勉強がてら実用性無視でOpenCVをC#だけで書き直してみようぜ
489デフォルトの名無しさん:2013/03/23(土) 11:54:42.08
休みの日まで勉強してたら脳みそ腐るわ
490デフォルトの名無しさん:2013/03/23(土) 11:57:46.80
githubかbitbucketにリポジトリ掘れば手伝うぞ
他はアカウントないし作るのもメンドイ
491デフォルトの名無しさん:2013/03/23(土) 12:22:41.11
>>480
これはひどい
>for (int i = 0; i < bData.Height; ++i)
この辺とかド素人丸出し
492デフォルトの名無しさん:2013/03/23(土) 12:27:29.02
>>480
for (int i = 0; i < bData.Height; ++i)
{
for (int j = 0; j < bData.Width; ++j)
{
byte* data = scan0 + i*bData.Stride+j*bitsPerPixel / 8;

とかもうアホかと
これめちゃくちゃ遅いだろ
493デフォルトの名無しさん:2013/03/23(土) 12:45:05.99
どうすればいいかの代案も出せずに批判する奴は
実はどうすればいいのかはわかっていない。
494デフォルトの名無しさん:2013/03/23(土) 12:46:37.40
あれ見てわからないゴミはずっとゴミでいればいいと思うよ
495デフォルトの名無しさん:2013/03/23(土) 12:53:28.00
代案だって
廃案にすべきものに代案だって
声に出して笑っちゃった
496デフォルトの名無しさん:2013/03/23(土) 12:57:42.61
本人が満足してるなら良いんじゃないの(クスクス
497デフォルトの名無しさん:2013/03/23(土) 12:59:59.55
しかしプログラマーの井の中の蛙臭って凄いな
498デフォルトの名無しさん:2013/03/23(土) 13:03:57.60
まあDTだしな
499デフォルトの名無しさん:2013/03/23(土) 13:04:11.68
レベル2の壁がいかに厚いか分かるだろ
レベル3はこんな話をしない
500デフォルトの名無しさん:2013/03/23(土) 13:06:10.27
なんかネイティブ厨のバカが騒いでるがそんなもの適材適所だろw
501デフォルトの名無しさん:2013/03/23(土) 13:07:17.04
1つしか言語が使えないと適材を適所で使うこともできないけどな
502デフォルトの名無しさん:2013/03/23(土) 13:12:00.34
仮にもマをやっててひとつの言語しか使えないヤツなんているの?
503デフォルトの名無しさん:2013/03/23(土) 13:22:09.83
おまえら話掏りかえるの好きだな
>>384 がどうやったらここまで捻じ曲がるんだ
504デフォルトの名無しさん:2013/03/23(土) 13:23:26.90
ここは偉そうな初心者がいっぱいいるスレですね
505デフォルトの名無しさん:2013/03/23(土) 13:25:07.52
オレオレで話すからおかしくなるんだよな
506デフォルトの名無しさん:2013/03/23(土) 13:25:39.37
つ春休み
507デフォルトの名無しさん:2013/03/23(土) 13:26:16.99
え。384 の続きだったのか。ただの雑談になってるのかと思ってた。。
508デフォルトの名無しさん:2013/03/23(土) 13:33:36.10
おまえらだってプログラム始めて半年くらいで
コードコンプリートとかエッセンシャル何とかとか読んで
感化されて無敵感持っちゃった経験有るだろ
509デフォルトの名無しさん:2013/03/23(土) 13:52:07.60
感化って中2じゃあるまいし
そんなのは花粉だけで十分だ
510デフォルトの名無しさん:2013/03/23(土) 15:49:10.56
 __     ___       r‐ァ       r‐x  _,ゞ'ニニ‐マェ、   「f`
   `i L,..r´     `ヽ‐-n_ノ |      `vヒ y',    ミ}‐`=、_,! !
   ゙ー{{!      ',ーr‐ '          ーイ'{. ハ ト、 ,f 、 _ゞ‐ '、
     ム ,.、  ,_ ,、ヘ!  ヽ             vーヽt<゙   ヽ   \
      ` ヽ' ヽ.    ',             ヾ゙ゝ _  〉   ヽ
              辷――::'ゝ、             ,.-t‐゙':::::::::: ̄:ゝ、
        r `ゝ-―‐--' 、 !       .    〈 r゙' ´  ̄ `゙ヽ. ゙!
           V.|    .   ト{             vハ       トy
          rェフ        . ゙ー`         'ー'       ゙ー`
  糞スレだったねソーニャちゃん・・・  うるさい黙って支えてろ!
                           お前らは早く逃げろ!!
511デフォルトの名無しさん:2013/03/23(土) 15:51:05.61
512デフォルトの名無しさん:2013/03/23(土) 19:17:48.19
まさにふらっと向けの話題
513デフォルトの名無しさん:2013/03/23(土) 21:43:00.33
なぜこのスレには5番アイアンだけでゴルフをしようとするヤツが現れるのか?
どこかの猿じゃないんだから、フルセット担いで適材適所言語を使い分ければいいじゃない。
514デフォルトの名無しさん:2013/03/23(土) 22:07:02.14
使い分けるってのは使い分けられる奴の言い分ですから
515デフォルトの名無しさん:2013/03/24(日) 01:15:09.60
とうてい言語向けスレで語ることでもないですけどね。
516デフォルトの名無しさん:2013/03/24(日) 01:15:24.77
特定言語、だな。w
517デフォルトの名無しさん:2013/03/24(日) 01:37:25.53
>>513
それにはまずフルセット買わないとだめなわけで
そのコストをクリアできないやつがいっぱいいるわけですよ
518デフォルトの名無しさん:2013/03/24(日) 01:39:59.39
貧乏人がゴルフすんなという結論に落ち着く
519デフォルトの名無しさん:2013/03/24(日) 05:49:30.61
>>513
つまらない例えでさらにカオスへw
520デフォルトの名無しさん:2013/03/24(日) 05:50:19.31
カオスを越えて週末が近づく
521デフォルトの名無しさん:2013/03/24(日) 11:52:28.07
すいません、分からないことがあるので質問します。
toolStripComboBoxとListBoxで同じDataSetを参照しているのですが、
ListBoxではダブルクリックでメソッドへ、
toolStripComboBoxでは選択でメソッドへ移動します。
toolStripComboBoxを選択なしで閉じた直後(フォーカスがまだある状態)
ListBoxを選択するとtoolStripComboBoxの方で判定があるのですが。
フォーカスを移動させたりして回避する方法ないですか?
宜しくお願いします。
522デフォルトの名無しさん:2013/03/24(日) 14:59:20.11
メソッドへ移動っての詳しく




やっぱいいや。
でも俺用語はやめて普通の言葉を使ってほしいな。
ListBoxとtoolStripComboBoxに設定したイベント名を正確に書いてみてよ?
DoubleClickとかSelectedChangedとか。

>toolStripComboBoxでは選択でメソッドへ移動

の選択ってSelectedChangedのことでいいのかな?
だったら再現しませんでした。
523デフォルトの名無しさん:2013/03/24(日) 15:00:16.73
おっと訂正
誤 SelectedChanged
正 SelectedIndexChanged
524デフォルトの名無しさん:2013/03/24(日) 15:14:06.60
たぶんよく理解せずにデータバインディングを使ってるだけだと思うw
ついでに言えば、恐らく

>toolStripComboBoxを選択なしで閉じた直後(フォーカスがまだある状態)
これは多分ただの思い込みで、問題の発生する条件ではないはず。
ダメな人は思い込みが激しく、自分の問題をよく確認する作業も、それを他人に
理解してもらう努力も怠る。
525デフォルトの名無しさん:2013/03/24(日) 17:27:47.25
>>522,524
もう一度、文章書き直してきます。
526デフォルトの名無しさん:2013/03/24(日) 20:31:50.55
VC#でやってたんですけど、WindowsとMacとLinuxで動くソフトを作る場合monoのほうが良いですか?
monoには2.0とか3.5とか4.0とかってないんですか?
527デフォルトの名無しさん:2013/03/24(日) 20:38:12.30
世の中にお前が作ったソフトを使ってくれる人がどれだけいるかな?
その中でさらにMacやLinuxのユーザーとなると何人いると思う?
クロスプラットフォーム前提ならWeb(C#ならASP.NET)にしとけ。
ローカルなアプリならWindows以外を相手にするのははっきり言って時間の無駄。
528デフォルトの名無しさん:2013/03/24(日) 20:42:41.21
そんな事はどうでもいいので質問に答えてください
529526:2013/03/24(日) 20:44:50.06
有難うございます
マルチプラットフォームに拘るのも考え物って事なんですね
530デフォルトの名無しさん:2013/03/24(日) 20:48:18.28
どういたしまして
531デフォルトの名無しさん:2013/03/24(日) 20:48:23.83
前向きだねえ君は
532デフォルトの名無しさん:2013/03/24(日) 20:51:26.52
よく言われます
533デフォルトの名無しさん:2013/03/24(日) 20:54:36.87
コマンドラインで使うようなツールなら共通に出来るけど、
UIが絡むものは互換ないからなぁ
534デフォルトの名無しさん:2013/03/24(日) 20:57:38.61
C#スレで言うのもなんだが、Javaが一番妥当な気がする
535デフォルトの名無しさん:2013/03/24(日) 21:06:12.51
最近は一般ユーザのPCにはJavaVMはほんと入ってないよ。
536デフォルトの名無しさん:2013/03/24(日) 21:11:21.28
最近はセキュリティホール問題でJava消すのが流行りだし
537デフォルトの名無しさん:2013/03/24(日) 21:19:42.74
>>527
自分が使うんですよ3OSで
>>533
やっぱJavaのほうがよさそうですね
ただ、配布目的だとこれって言語がないんですね
538デフォルトの名無しさん:2013/03/24(日) 21:24:29.94
Pythonにすれば?
Qtが使えるから高品質なGUIが作れるよ
配布用のパッケージ化ももちろん可能
539デフォルトの名無しさん:2013/03/24(日) 21:29:19.94
自分で使うんならPythonかRubyかなんかでコマンドラインツールとして作ればいいのでは
当然Unixのコマンドは使えるんだろ?
540デフォルトの名無しさん:2013/03/24(日) 22:20:44.96
pythonってランタイムごと配布できるんだな。
ファイルサイズでかいけど
541デフォルトの名無しさん:2013/03/25(月) 11:01:52.07
C言語のソースコードをC#に変換する方法ありませんか?
古いC#+C言語DLLで作られているアプリをWindows Phoneに移植してるのですが
P/Invokeになっている部分を読めないくらい汚くてもいいのでC#に自動変換したいです。
542デフォルトの名無しさん:2013/03/25(月) 11:28:19.91
無理じゃね
543デフォルトの名無しさん:2013/03/25(月) 12:03:15.82
そのままでは動かないくらい大雑把に変換してくれる支援ツールみたいのも無いでしょうか?
544デフォルトの名無しさん:2013/03/25(月) 12:18:25.53
無いですね
545デフォルトの名無しさん:2013/03/25(月) 12:37:04.86
慣れるとけっこう機械的に移せる、、手間はかかるか
546デフォルトの名無しさん:2013/03/25(月) 12:42:48.01
昔移植したことあるけど文字列の置換で大部分はいける
partialで一つのクラスにまとめてstaticメソッドとして取り込んだり
標準ライブラリ関数をDllImportしたり
547デフォルトの名無しさん:2013/03/25(月) 14:51:04.08
テキスト置換する方法でやってみます。
548デフォルトの名無しさん:2013/03/25(月) 17:28:23.25
素直に仕様を読み取って書けばいいよ。
途中で楽したところで詳細仕様が分からなければテストができないだろ。
549デフォルトの名無しさん:2013/03/25(月) 17:32:25.53
んだんだ
550デフォルトの名無しさん:2013/03/26(火) 00:15:29.98
だんだん
551デフォルトの名無しさん:2013/03/26(火) 00:45:09.87
string url = "http://hogehoge.com";
strin url_enc = WebUtility.HtmlEncode(url);

これを実行した結果

http%3a%2f%2fhogehoge%2ecom

が返って来る事を期待しているのですが

quick watch で見たところ

http://hogehoge.com 

のままでした。なにが間違っているのでしょうか?
552デフォルトの名無しさん:2013/03/26(火) 00:59:43.66
期待した内容が間違ってます。
HtmlEncode()はそんなことするメソッドではありません。
553デフォルトの名無しさん:2013/03/26(火) 01:10:02.35
なにをしたいのか知らんが UrlEncode() かな。
554デフォルトの名無しさん:2013/03/26(火) 10:32:55.08
UrlEncode()なら、
System.Web.HttpUtility.UrlEncode()
だけど、client profileに入ってないから
client profileやめてSystem.Webを参照に追加するか、
Uri.EscapeDataString()
使うかしないとね。
555デフォルトの名無しさん:2013/03/26(火) 10:37:08.48
スラッシュとかURLとして有効だと思うけど、UrlEncodeでスラッシュもエンコードされるのか?
556デフォルトの名無しさん:2013/03/26(火) 10:38:34.76
HttpUtility.UrlEncode()はされる
Uri.EscapeDataString()もされる
Uri.EscapeUriString()はされない
557デフォルトの名無しさん:2013/03/26(火) 10:39:02.67
UrlEncodeってURLに使っちゃいけない文字列をエスケープすることでデータをURLに載せて送れるようにするものだろ
558デフォルトの名無しさん:2013/03/26(火) 11:13:22.80
なるほど。使っちゃいけない文字列っていうとこに誤解と不正確があるんだな
使っちゃいけない文字
使えるけど、特殊な意味を持つ文字
が区別できてない
MSDNのHttpUtility.UrlEncodeの説明もそういう意味では不正確だな
559デフォルトの名無しさん:2013/03/26(火) 13:20:58.28
スレッドタイマーで500ms毎にイベントを発生させて処理をさせているときに
処理が500ms以上かかってしまったときは、次のイベント発生時(500ms経過後)には
どのような挙動になるのでしょうか。

今、下記のような処理をさせたときに、
i=2でseq2()が700mかかってしまった時に、次回のイベント発生時になぜか途中の
「i++;」の行から実行されてしまいます。

int i=0;
private void timer_Tick(object sender, EventArgs e)
{
  if( i == 0 ){
seq1();
}
else if(i == 1){
seq2();
}
else if(i == 2){
seq3();
}

i++;
if(i == 3){
i = 0;
}
}
560デフォルトの名無しさん:2013/03/26(火) 13:23:33.55
最初の実行中のタイマーフラグをONにして
次のタイマーイベント時はフラグがONなら抜けなければならない
561デフォルトの名無しさん:2013/03/26(火) 13:29:55.45
なければならないかどうかは要求仕様次第だろう
取りあえずDebug.WriteLineとかで現在時刻その他諸々出力
というかiは冒頭でInterlocked.Incrementして返値を使うとかしないとバグるよ
562デフォルトの名無しさん:2013/03/26(火) 13:32:07.94
普通に再入するだけだろ
リエントラントじゃない処理に再入したらそら正常には動かんわな
563559:2013/03/26(火) 13:50:24.20
>>560さん
>>561さん
>>562さん
貴重なご意見ありがとうございました。

次のイベント発生時に普通に再入してしまうんですね。
お陰様で原因がわかりました。
そもそもseq2()で500ms以上かかってしまうのが根本的にまずいので、
そこを直したいと思います。
564デフォルトの名無しさん:2013/03/26(火) 14:03:40.29
根本的にまずいのは500msとかじゃなくてこの設計そのもののような気がしないでもないでもない
565デフォルトの名無しさん:2013/03/26(火) 14:21:34.90
別に設計は問題ないと思う。再入したらreturnすればいいだけ。
566デフォルトの名無しさん:2013/03/26(火) 15:02:09.36
排他制御すればいいだけ。
567559:2013/03/26(火) 15:20:35.26
引き続きのご意見ありがとうございます。
再入した時のreturn処理も合わせて組み込みたいと思います。
568デフォルトの名無しさん:2013/03/26(火) 15:30:56.27
lock使えばいいだけ。
569デフォルトの名無しさん:2013/03/26(火) 15:45:11.82
lockだと待ち行列ができちゃうよね
570デフォルトの名無しさん:2013/03/26(火) 16:18:44.13
0.5秒以上かかる処理を0.5秒間隔のイベントでやろうとしているのか。難儀な奴だ。
571デフォルトの名無しさん:2013/03/26(火) 16:19:36.82
Windows.Forms.Timerなら再入はないし、
時間オーバーでかぶった場合は適当に捨ててくれる。
UIスレッドで動くうえ、間隔もアバウトだけど。
572デフォルトの名無しさん:2013/03/26(火) 16:53:15.39
根本的にまずいのは500msとかじゃなくてこの設計そのもののような気がしないでもないでもない
573デフォルトの名無しさん:2013/03/26(火) 17:15:23.91
ファイルパスから大文字小文字が正しいファイルパスを取得する方法を教えてください。
574デフォルトの名無しさん:2013/03/26(火) 17:21:33.82
まずズボンを脱ぎます
575デフォルトの名無しさん:2013/03/26(火) 17:28:17.32
PathでDirectoryとFileNameに分けてDirectory.GetFilesで取り出すとか
576デフォルトの名無しさん:2013/03/26(火) 17:37:51.66
575じゃディレクトリ名が正しくならんな
鉄板なのはGetShortPathNameからのGetLongPathNameか
577デフォルトの名無しさん:2013/03/26(火) 18:08:38.45
VC#でちょっとしたゲームを作りたいんですが、ちょっと詰まったので質問いいですか?

panel上のコンポーネント上にPictureBoxを表示したいんですがうまく透過できません
OnBackColorをオーバーライドしてPictureBoxを透過できるようにしたんですが、
表示させたい画像に透過部分があるせいで結局TransParent状態になってしまいます。

OnPaintをオーバーライドして、透過部分のマップ作成して、
透過部分にそれぞれ下のコンポーネントの色採取して表示していくしかないんですかね。

もっと楽な方法があったら是非知りたいんですが
578デフォルトの名無しさん:2013/03/26(火) 19:15:28.06
Javaからの移植を行っているのですが、JavaのShortBufferに相当するクラスは何になるでしょうか?
http://docs.oracle.com/javase/jp/6/api/java/nio/ShortBuffer.html
579デフォルトの名無しさん:2013/03/26(火) 19:20:32.55
単なるBuufer
580デフォルトの名無しさん:2013/03/26(火) 19:26:44.36
ごめんよく読むと全然違いますな
581デフォルトの名無しさん:2013/03/27(水) 00:26:11.56
テキストボックスに何か入力しようとすると
入力文字列の形式が正しくありません。 と出ます。
stringを無理やりintに変換しているのが悪いことは分かるのですがどう改善させればよいでしょうか。
よろしくお願いします。

ソース↓
private void textBox1_KeyDown(object sender, KeyEventArgs e){
 System.Random r = new System.Random(i);
 int x = r.Next(100);
 int ans = x;
 string str = textBox1.Text;
 int inp = Convert.ToInt32(str);
  if (e.KeyCode == System.Windows.Forms.Keys.Enter)
  {//処理}
}
582デフォルトの名無しさん:2013/03/27(水) 00:28:32.11
>>581
決して煽りではなく、「どう改善させればよい」かは「何がしたいか」が分からないと
決定できません
583526:2013/03/27(水) 00:29:45.68
stringを無理やりintに変換しなければいいと思います
584デフォルトの名無しさん:2013/03/27(水) 00:31:00.59
ブレークポイントで止めてみろ
textBox1.Text;
に何入ってるか確認しろ
まあ空文字列だろうけど
585デフォルトの名無しさん:2013/03/27(水) 00:36:16.96
C#を数日前から始めた初心者です。
>>582
数当てゲームを作ろうと思ったのですが、stringとintは比較できないの(<,> etc...)でintに変換しています。
エラーが出ないようにしたいのです。説明不足ですみません。

>>584
そうです。空です。
586デフォルトの名無しさん:2013/03/27(水) 00:38:46.12
とりあえず

・テキストの変更を見張るときはTextChangedを使う
・例外について調べる。さらに黙らせる方法を調べる

はい。やってください。
587デフォルトの名無しさん:2013/03/27(水) 00:43:21.17
素直に google 先生に「C# 文字列を数値に変換」はどうするんですかと質問してみるとか。
588デフォルトの名無しさん:2013/03/27(水) 05:59:18.43
これはブレークポイントの使い方がわからないということなのか。
時々、どの行でエラーが起きるのか書かない質問者がいて変だなと思ってたけど、
ブレークポイントの使い方を知らない人が結構いるってことなのかな。
589デフォルトの名無しさん:2013/03/27(水) 06:19:17.21
> C#を数日前から始めた初心者です。
590デフォルトの名無しさん:2013/03/27(水) 07:20:17.83
expression treeの実行を高速化したくて
ttp://fastlambda.codeplex.com/
これを見つけたんですが、他に何か実行時最適化するライブラリや方法ありますか?
591デフォルトの名無しさん:2013/03/27(水) 08:53:44.86
>>577
PictureBoxとか使わず自前で描画
透過とかあると結局そっちの方が楽
592デフォルトの名無しさん:2013/03/27(水) 09:13:58.59
だよな。ゲームならフォームに直接描画が最強
593デフォルトの名無しさん:2013/03/27(水) 10:00:53.26
>>591-592
やっぱりですかー。適当にちゃっちゃと作ろうと思ったんですが
透過すら出来ないとさすがに微妙ですねぇ

ちょっとUnityでも勉強してきます。
594デフォルトの名無しさん:2013/03/27(水) 10:33:25.91
PictureBox使わないと絵が貼れない人のほうが問題
595デフォルトの名無しさん:2013/03/27(水) 10:48:07.97
Unityだとちゃっちゃと作れるんだろうか
596デフォルトの名無しさん:2013/03/27(水) 10:49:10.13
通常の処理は500msかからないが,
時に700msかかる場合があると,
lock, monitorでもいいが,
キューを作らず処理するには
イベントハンドラの頭でタイマーをdisableにして,
抜けるときにenabeにすればいい
割込みハンドラでよくあるタイプじゃね?
597デフォルトの名無しさん:2013/03/27(水) 12:23:40.59
突然なんだよ
598デフォルトの名無しさん:2013/03/27(水) 12:28:57.85
>>588
int inp = Convert.ToInt32(str);

この行にエラーが出ているようです。
599デフォルトの名無しさん:2013/03/27(水) 12:29:49.71
いや知ってるよ
600デフォルトの名無しさん:2013/03/27(水) 12:37:31.46
int inp = Convert.ToInt32(str);
をtextBox1でEnterが押されたら実行するようにして解決しました。

ありがとうございました。
601デフォルトの名無しさん:2013/03/27(水) 13:10:34.53
疑似言語の質問したいんだけどどこいけばいいかわからない…
602デフォルトの名無しさん:2013/03/27(水) 14:29:04.86
603デフォルトの名無しさん:2013/03/27(水) 14:31:15.13
Int32.TryParse( string, out int )を使えってことじゃないの?
604デフォルトの名無しさん:2013/03/27(水) 14:41:14.66
まあ最後は例外処理するからTryParseに行きつくだろうけど。
まずは例外処理を普通に組み込んで慣れておけ、と。
605デフォルトの名無しさん:2013/03/27(水) 14:41:45.78
×例外処理するから
○例外処理するか、
606デフォルトの名無しさん:2013/03/27(水) 20:22:59.48
http://monobook.org/wiki/SL_Sharp

みなさん↑のサンプル動きますか?
デルのポンコツだからなぁ
607デフォルトの名無しさん:2013/03/27(水) 20:56:16.87
>>593
いきなりunityまで飛ぶのかよ!?
608デフォルトの名無しさん:2013/03/27(水) 20:56:40.12
むしろサンプルがどこにあるか分からん
リンク先で探せと?
609デフォルトの名無しさん:2013/03/27(水) 21:04:03.48
610デフォルトの名無しさん:2013/03/27(水) 21:09:46.87
https://github.com/IgniteInteractiveStudio/SLSharp/blob/master/IIS.SLSharp.Examples.Simple/DemoWindow.cs
初期化がこれで完結とかスゲーなw
試してないけど
611デフォルトの名無しさん:2013/03/27(水) 21:15:15.74
ライブラリに初期化を任せてるだけのことだろ?凄いも何も…
C++でもそういう簡単なライブラリはもちろんあるし、
C#でもGLを直に叩いたらC++からやるのと変わらん手間だぞ
612デフォルトの名無しさん:2013/03/27(水) 21:34:11.94
いや、OpenTKの話じゃねぇだろw
613デフォルトの名無しさん:2013/03/28(木) 07:43:52.42
>>606
そもそもC#は超高級言語なのか?
614デフォルトの名無しさん:2013/03/28(木) 07:47:14.64
比較の問題だから。
低級言語ではないことは確か
615デフォルトの名無しさん:2013/03/28(木) 10:58:33.59
高級言語、低級言語の意味が解ってないだけだと思うぞ
616デフォルトの名無しさん:2013/03/28(木) 13:28:57.41
AggregateExceptionが発生してアプリけーションが終了することに苦情がよせられました
例外発生の事由は後日調査するとして、このAggregate〜をAppliation_DispatcherUnhandledExceptionで拾う方法はないんでしょうか

Taskを書くたびにWait()を必ず書いてtry〜catchやるとなると、メインスレッドでWait()でTaskの処理待ちすることになるので、やりたくないです。
617デフォルトの名無しさん:2013/03/28(木) 14:04:07.75
C#より高級な言語ってあんの?
618デフォルトの名無しさん:2013/03/28(木) 14:11:49.67
いくらでも
619デフォルトの名無しさん:2013/03/28(木) 15:34:52.73
例えば?
620デフォルトの名無しさん:2013/03/28(木) 15:57:09.20
超特級 whitespace
特級 brainf*ck
高級 HQ9+
621デフォルトの名無しさん:2013/03/28(木) 16:04:40.30
つまんねーよカス
622デフォルトの名無しさん:2013/03/28(木) 20:15:48.48
>>616
TaskScheduler.UnobservedTaskException
623デフォルトの名無しさん:2013/03/29(金) 10:08:39.71
LabViewは高級って言っていいかもしんない
624デフォルトの名無しさん:2013/03/29(金) 10:24:23.99
LabVIEWほどスパゲッティコードの呼び名が相応しいものはないw
静的に作るだけなら悪くないんだけどなあ
625デフォルトの名無しさん:2013/03/29(金) 12:34:26.32
>>622
もう納品しちゃいましたが、ありがとうございました
626デフォルトの名無しさん:2013/03/29(金) 12:35:47.30
工エエェェ(´д`)ェェエエ工
627デフォルトの名無しさん:2013/03/29(金) 17:24:33.98
文字列が日本語なのか中国語なのかを判別するにはどうしたらいいのでしょうか?
628デフォルトの名無しさん:2013/03/29(金) 17:34:12.28
口頭で読んでみて理解できなかったら中国語。
629デフォルトの名無しさん:2013/03/29(金) 17:36:57.14
分からないなら答えなきゃいいのに。
630デフォルトの名無しさん:2013/03/29(金) 18:04:32.60
大喜利するにしても面白くないのはノーサンキューだよね
631デフォルトの名無しさん:2013/03/29(金) 18:17:44.71
Bing翻訳にAPIか何かあるんじゃないか?
632デフォルトの名無しさん:2013/03/29(金) 19:05:33.81
機械にも人間にも判別不能な文字列があるけど
633デフォルトの名無しさん:2013/03/29(金) 20:31:27.81
こんなんでいいんじゃね?
var hira = "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん";
str.IndexOfAny(hira.ToCharArray());
634デフォルトの名無しさん:2013/03/29(金) 20:47:35.27
謝謝

↑口頭で読んで理解できたので日本語
635デフォルトの名無しさん:2013/03/29(金) 20:52:40.09
病んでる人間多すぎだろここ
お前ら一度カウンセリングとか受けた方が良いんじゃねーの?
636デフォルトの名無しさん:2013/03/29(金) 20:57:54.49
カウンセリングってどんな事するの?
637デフォルトの名無しさん:2013/03/29(金) 21:07:17.63
カウンを売るんだよ
638デフォルトの名無しさん:2013/03/29(金) 21:11:12.39
カウンってなんだよ
639デフォルトの名無しさん:2013/03/29(金) 21:13:52.86
買うんだよ
640デフォルトの名無しさん:2013/03/29(金) 21:26:39.94
買うのか売るのかはっきりしろ!
641デフォルトの名無しさん:2013/03/29(金) 21:31:15.24
>>627
CP932でエンコ出来れば日本語
中国も同じように出来るだろ
642デフォルトの名無しさん:2013/03/29(金) 21:33:38.50
そんないい加減な
てか、元の文字コードも不明だってのに
既にstringになってる保証はない
643デフォルトの名無しさん:2013/03/29(金) 21:37:33.01
そもそもどういう用途なんだろうか?
日本語と中国語の判別が必要な場面なんてそうそうないと思うが
644デフォルトの名無しさん:2013/03/29(金) 21:40:18.33
Google先生の中の人はある程度やってるはずだよね
645デフォルトの名無しさん:2013/03/29(金) 21:54:22.02
ああいうのは各国語の辞書とのマッチ率を見てるんでしょ
646デフォルトの名無しさん:2013/03/29(金) 21:58:55.66
言語が分からないのにどうやって構文解析するのだ。
647デフォルトの名無しさん:2013/03/29(金) 22:02:14.87
いい加減と言われてもstringはUnicodeだから精々グリフによる分類ぐらいしか分からない
その前に謝謝は何語が正解なの?
648デフォルトの名無しさん:2013/03/29(金) 22:09:56.45
>>627
perlさんの分野だから、そっちで検索して、
C#コードに置き換えてテストしてみるのがいいんじゃない?
649デフォルトの名無しさん:2013/03/29(金) 22:17:50.50
>>646
大方の言語は分かち書きだし、ダメならn-gramを使えばいい
650デフォルトの名無しさん:2013/03/30(土) 00:58:17.88
>>633
カタカナを含めれば9割いけそうw
651デフォルトの名無しさん:2013/03/30(土) 06:32:05.67
質問は「文字列が」となってるけど
本当はまだ文字列になってないバイト列だとエスパーすると

IMultiLanguage2.DetectInputCodepageを使うべきなんじゃないかな

IEの文字コード判定に使われてるアレ
精度はそれなり
652デフォルトの名無しさん:2013/03/30(土) 06:34:24.68
http://sgns.jp/addon/dictionary.php?action_detail=view&amp;type=1&amp;dictionary_no=1359

右僕射源朝臣家康公とか歴史関係とか国家公安局とか文字列だけみて
判別ってたぶんできねーと思うよ
653デフォルトの名無しさん:2013/03/30(土) 07:13:58.13
“文字列”が単語なのか文章なのかで又違ってくるとは思う

単語なら、中国語と日本語で完全一致するものがある以上,>>652 の言うように断言は無理
文章なら、助詞が全く無い日本語は(漢文の教科書みたいなものを除けば)あり得ないので
>>633,650 の考え方で判別可能かと
654デフォルトの名無しさん:2013/03/30(土) 07:18:44.06
ひらがなやカタカナの率とか
655デフォルトの名無しさん:2013/03/30(土) 08:09:18.69
お前らスレ違い
失せろ
656デフォルトの名無しさん:2013/03/30(土) 13:19:51.45
>>280
自分が寝坊しないように適当に作ったアラームアプリは
スレッド作ってその中の無限ループで時間更新&アラーム時刻かどうか判定した後、1秒Sleepして再判定ってやってる
もっといい方法があるかも知れないけど、まあ寝坊しないしこれで満足してる。
657デフォルトの名無しさん:2013/03/30(土) 18:27:32.80
ASP.NETにはSettings.settingsってないのですか?
658デフォルトの名無しさん:2013/03/30(土) 21:46:01.67
つGoogle
659デフォルトの名無しさん:2013/03/30(土) 21:52:05.00
ネットを使うと良いよ
そこには様々なサイトや掲示板が存在していて
情報交換や質問なんかも答えてくれたりして便利だよ
660デフォルトの名無しさん:2013/03/30(土) 22:15:51.59
>>659
ワロタw
661デフォルトの名無しさん:2013/03/30(土) 22:40:23.76
ここもネットやで!
662657:2013/03/30(土) 22:47:22.87
ネット使ってみました
VWDだと設定ファイルの追加ができなかったのですが、
プロジェクトのプロパティから追加するようでした
663デフォルトの名無しさん:2013/03/30(土) 22:47:37.09
ヲタの奴は笑いのツボが普通の人と違う。
それがキモいと言われる理由の一つ。
664デフォルトの名無しさん:2013/03/30(土) 23:02:36.72
>>663
自分の顔うp
665デフォルトの名無しさん:2013/03/30(土) 23:47:59.71
C#使い=不細工
666デフォルトの名無しさん:2013/03/31(日) 00:11:31.32
>>665
自分の顔うp
667デフォルトの名無しさん:2013/03/31(日) 02:01:38.65
>>666
グロ画像要求しちゃダメだろw
この流れだと踏む奴いるからw

>>663
ヲタにつきまとうストーカーってのもひとつのヲタだけどなw
668デフォルトの名無しさん:2013/03/31(日) 17:24:49.79
.Netの質問は各言語スレでいいんですかね?

UI Automationを使ってみようと思ったんですが、アプリケーションによっては
UI Spyで見えるエレメント全部を取得できない場合があります。

コードはこんな感じで、VC#は管理者権限で実行しています。

AutomationElement ae = AutomationElement.FromHandle( ウィンドウハンドル );
AutomationElement node = TreeWalker.RawViewWalker.GetFirstChild(ae);
while ( node != null )
{
// 子を処理
node = TreeWalker.RawViewWalker.GetNextSibling(node);
}

これでたとえばリソースモニターだと一通りのエレメントを取得できるのですが、
SpeedFanだとシステムメニューしか取得できません。また、関係あるかわかりませんが、
RuntimeIdの値がUI Spyとプログラムで取得したものが異なりました。
対象のアプリの作りの違い(.Netかどうかとか)でこのような違いが出るのでしょうか?
また、UI Spyのようにすべて取得するにはどのようにすればよいでしょうか?
669デフォルトの名無しさん:2013/03/31(日) 18:23:02.61
>>668=グロコードが表示されました
670デフォルトの名無しさん:2013/03/31(日) 18:27:59.64
UIAutomationも例によってCOMのラッパーだから.netかどうかは関係ないと思うがなぁ

一応聞くけど
そのサンプルソースだと最初の一階層しか取得してないよね
671668:2013/03/31(日) 19:02:25.95
>>670
ありがとうございました。.Netかどうかは関係ないんですね。
子要素の処理のコードは省略しましたが、一応階層的にたどるようにしています。
ただ、1階層目から取得できる要素とできないものがあります。
SpeedFanの例で言うと、1階層目にControlType.TabとControlType.TitleBarが
あるのですが、TitleBarの方しか取得できません。
また、先ほどは書き忘れましたが、取得できなかった要素の子要素のAutomatioIdを
指定してFindFirst()しても取得できませんでした。
672デフォルトの名無しさん:2013/03/31(日) 19:23:14.54
スタイルを重ねて適用するにはどのような方法をとったらいいでしょうか?
いずれのスタイルも外部ファイルから読み込む形で行いたいです

全てのButton用スタイル
 Foreground=赤
 background=青

特定のButton用スタイル
 background=黄

// 結果
 特定のButton
  Foreground=赤
  background=黄
 その他のButton
  Foreground=赤
  background=青
673デフォルトの名無しさん:2013/03/31(日) 19:24:58.14
BasedOn使えば?
674デフォルトの名無しさん:2013/03/31(日) 19:39:05.46
お答えありがとうございます
<特定のButton用スタイル BasedOn=全てのButton用スタイル>
って形で使うのが正しいですか?

検索でBasedOnを引き当ててはいたのですが、使い方が悪いのか
全てのButton用スタイル で上書きされただけで終わってしまってこちらに参りました


<Style TargetType="{x:Type Button}">
<Setter Property="Background"/>
</Style>
<Style TargetType="{x:Type Button}" x:key="button01" BasedOn="{StaticResource {x:Type Button}}">
<Setter Property="Background"/>
</Style>
675デフォルトの名無しさん:2013/04/01(月) 09:26:01.14
toolStripなどでImageをアイコン等にした時、Enabeled=falseにすると灰色になりますが、
Enabled以外で、アイコンを灰色にすることは出来ますでしょうか?
676デフォルトの名無しさん:2013/04/01(月) 11:27:58.08
>>674
> <Style TargetType="{x:Type Button}">
> &nbsp; <Setter Property="Background"/>
> </Style>
> <Style TargetType="{x:Type Button}" x:key="button01" BasedOn="{StaticResource {x:Type Button}}">
> &nbsp; <Setter Property="Background"/>
> </Style>
このBasedOnは1番目のStyleを指せてない Button既定のStyleにしかならない
1個目の方で
<Style TargetType="{x:Type Button}" x:Key="{x:Type {Button}}">
ってやることで{StaticResource {x:Type Button}}が取ってくるStyleを上書きできる
677デフォルトの名無しさん:2013/04/01(月) 12:11:09.50
配列の最小値を求める関数ってありますか?
int[] や double[] の最小値を求めたいです。
自分で書けば簡単ですが、ライブラリがあるならそれを
使いたいです。
678デフォルトの名無しさん:2013/04/01(月) 12:23:51.46
>>675
灰色になったアイコンを設定すれば?

Image ToolStripRenderer.CreateDisabledImage( Image )という便利メソッドがある
679デフォルトの名無しさん:2013/04/01(月) 12:24:58.74
LINQ禁止じゃなければMin()使え
哀れな職場の場合は存在しないから自分で書け
680デフォルトの名無しさん:2013/04/01(月) 12:26:22.94
>>677
LINQの拡張メソッドがある

int[] arr = { 0, -1, 2, -3, 4 };
var min = arr.Min();
681デフォルトの名無しさん:2013/04/01(月) 12:29:30.89
Parallel.Foreachでコア数分分割してループ回して,
それぞれのコア出力結果を排他制御してさらに最小値を求める
682デフォルトの名無しさん:2013/04/01(月) 12:33:36.87
IOCCCでも始めるの?
683デフォルトの名無しさん:2013/04/01(月) 12:57:33.48
俺.Dispose();
684677:2013/04/01(月) 13:26:08.21
みなさんありがとうございます。

こちらの最低スペックとして.NET2.0なのでLINQを使えませんorz
自分で書くことにします;w;ありがとうございました。
685デフォルトの名無しさん:2013/04/01(月) 14:22:38.36
>>678
やっぱりクリック毎にアイコンを更新するしか無いですかねー。
ありがとうございました。
686デフォルトの名無しさん:2013/04/01(月) 17:54:07.67
protected override void Dispose(bool disposing)
{
 if (disposing)
 {
  // Release managed resources.
 }
 // Release unmanaged resources.
 // Set large fields to null.
 
 base.Dispose(disposing); // Call Dispose on your base class.
}

MSDNのIDisposeのサンプルソースなんだけど、
StreamとかIDisposeもってるクラスはmanaged、 unmanaged  どっちの場所に書くの?
687デフォルトの名無しさん:2013/04/01(月) 19:03:54.05
もちろんManaged
Unmanagedは実質IntPtrぐらい …あとGCHandleもか
688デフォルトの名無しさん:2013/04/01(月) 19:10:02.12
ありがとうございます。すっきりしました。
689デフォルトの名無しさん:2013/04/01(月) 21:03:24.71
MessageBoxButtons.YesNoとかSystem.Text.Encoding.UTF8等こういうのが列挙体ってやつですか?
690デフォルトの名無しさん:2013/04/01(月) 21:06:11.30
UTF8は違う
691デフォルトの名無しさん:2013/04/01(月) 22:13:49.55
>>684
一応Math.Minはあるよ
692デフォルトの名無しさん:2013/04/01(月) 22:15:34.30
>>686
ん?GC遠慮します宣言までセットじゃなかった?
693デフォルトの名無しさん:2013/04/01(月) 22:16:15.59
GCじゃなくてファイナライザの間違い
694デフォルトの名無しさん:2013/04/01(月) 23:46:24.41
それはpublic void Dispose()の方
695デフォルトの名無しさん:2013/04/02(火) 00:37:55.91
>>686
アンマネージリソース(>>687)を直接握ってるのでなければファイナライザは必要ない
というかその場合パフォーマンスが落ちるだけなのでファイナライザは書いてはいけない
ファイナライザを書かない場合、当然Dispose内のdisposingやif部も不要
696デフォルトの名無しさん:2013/04/02(火) 00:41:16.51
>>695
派生が絡むとそう単純な話でもなくなる
697デフォルトの名無しさん:2013/04/02(火) 00:44:36.60
派生が絡むとどうなるの?
698デフォルトの名無しさん:2013/04/02(火) 00:48:58.52
>>696
派生クラスにファイナライザを書けばいいだけの話
699デフォルトの名無しさん:2013/04/02(火) 04:12:59.05
DataContractとSerializableの違いって何?
一方にしかないメリットとかデメリットって何がある?
700デフォルトの名無しさん:2013/04/02(火) 09:20:54.22
ChartControlのFastLineのような折れ線グラフの向きを変えることって出来ますか?
http://msdn.microsoft.com/ja-jp/library/dd489249.aspx
左から右では無く、上から下に描きたいと思っています。
とりあえず「自分で描け」や「イメージを取得してpicturebox等で向きを変更」以外の方法でお願いします。
701デフォルトの名無しさん:2013/04/02(火) 13:58:47.35
以前、スレッドタイマの再入がらみの質問をさせていただいたものです。
すみませんが、もう一つ御教えて下さい。

タイマイベントの再入が発生したとき、元々のイベント処理の方は再入した処理の終了待ちになるのでしょうか。
それとも再入した処理と同時処理(マルチコアの場合)になるのでしょうか。
702デフォルトの名無しさん:2013/04/02(火) 14:50:20.39
マルチコアじゃなくても同時処理になるよ。
マルチスレッドはマルチコアじゃなくてもマルチスレッドだよ。
703701:2013/04/02(火) 15:12:45.38
>>702
単に別のスレッドが立ったと考えれば良いわけですね。
ありがとうございました。
704デフォルトの名無しさん:2013/04/03(水) 00:27:48.58
-0(マイナスゼロ)とか-0.0って扱う方法あります?
705デフォルトの名無しさん:2013/04/03(水) 00:40:47.32
おれ専用数値型を作ればok
706デフォルトの名無しさん:2013/04/03(水) 00:54:33.95
ListBox で項目をオーナードローすると HorizontalScrollbar の設定が true でも項目がListBoxの長さを超えたときに
横スクロールバーが自動で表示されないようになってしまうんですが、表示されるようにする方法はありませんか?
707704:2013/04/03(水) 00:58:43.75
うーん、たとえばdoubleってIEEE 754の浮動小数点数ですよね
規格上-0.0が扱えるはずだと思うんですがダメなんですかね?
708デフォルトの名無しさん:2013/04/03(水) 01:14:36.56
それ扱えたら何かいいことあるの?
用途がさっぱりわからないんだが
709デフォルトの名無しさん:2013/04/03(水) 01:17:14.82
>>704
コンソールにプリントしても区別がないだけで、浮動小数なら普通に扱うことはできるだろ
double x = -0.0;
double y = 0.0;
System.Console.WriteLine(x);
System.Console.WriteLine(y);
System.Console.WriteLine(1.0/x);
System.Console.WriteLine(1.0/y);
実行結果
0
0
-∞
+∞
710デフォルトの名無しさん:2013/04/03(水) 01:25:46.00
711706:2013/04/03(水) 02:26:38.80
すいません解決しました
HorizontalExtentを自分で設定しないとダメなようですね
712704:2013/04/03(水) 07:03:11.43
>>709
なるほど、そうやればいいんですね
ありがとうございます

System.Math.Signで-0.0でも0.0でも0が返って来るから
リテラルの代入の時点で符号が失われているのか、と早とちりしたんですが
どうやらSignメソッドって符号を取り出すメソッドではなく
0との比較をするメソッドだったようで
713704:2013/04/03(水) 07:06:03.06
>>710
あ、こういう方法もありますか
ありがとうございます
714デフォルトの名無しさん:2013/04/03(水) 17:40:48.65
何の用途で区別する必要があるの?
715デフォルトの名無しさん:2013/04/03(水) 18:35:58.68
知らないなら知る必要がないよ
716デフォルトの名無しさん:2013/04/03(水) 19:15:43.05
知らないのに知ったかしてみた馬鹿が通りました
717デフォルトの名無しさん:2013/04/03(水) 19:30:46.07
ゆとりは必ず知ったかする。
718デフォルトの名無しさん:2013/04/03(水) 19:54:04.37
C#にPHPのlistに相当する記述方法はありますか?
2分割した文字列を一気に2つの変数に割り振りたいのですが
http://php.net/manual/ja/function.list.php
719デフォルトの名無しさん:2013/04/03(水) 20:04:26.06
>>718
用例みてもそれの何が嬉しいのかよくわからんw

普通に
foo = hoge[0]; bar = hoge[1];
と書いた場合と比べてシンプルになるように思えないんだけど
720デフォルトの名無しさん:2013/04/03(水) 20:15:39.32
phpは複雑怪奇
721デフォルトの名無しさん:2013/04/03(水) 20:15:50.80
関数の戻り値を受けるときに使うんじゃないの
なんちゃってタプルだな
722デフォルトの名無しさん:2013/04/03(水) 20:55:53.97
どうやって文字列を2分割したんだ?
Splitなら普通に配列になるだろ
723デフォルトの名無しさん:2013/04/03(水) 20:59:22.45
var name, age, sex = "トム,32,男".Split(",");
みたいなやつだろ
724デフォルトの名無しさん:2013/04/03(水) 21:45:49.98
http://www.forest.impress.co.jp/docs/yashiro2013/20130401_593812.html?ref=garank
>たとえば「JAWA(ジャワ")」と呼ばれる言語の開発者でも容易に利用できるという。
725デフォルトの名無しさん:2013/04/03(水) 21:46:38.12
>しかし、今回編集部では「VirusuStudio2010」の下位エディション「Espresso」の存在
これはわざとなのか?
726デフォルトの名無しさん:2013/04/03(水) 21:47:17.47
エイプリルフールのネタ記事張って引用して何がしたいんだお前
727デフォルトの名無しさん:2013/04/03(水) 21:48:07.00
真の馬鹿は常時馬鹿
728デフォルトの名無しさん:2013/04/03(水) 21:50:34.73
エイプリルフールねたは面白くないから当日オンリーでさっさと消すべきだよ
というか面白くないのに大手がやるんじゃねえ
729デフォルトの名無しさん:2013/04/03(水) 21:55:23.86
情弱が何か言っています
730デフォルトの名無しさん:2013/04/03(水) 23:56:57.60
Dictionaryをよく重複チェックに使うんだが、意味のないvalueを入れるのは微妙なんで、DictionaryのKeysのみのクラスとかない?
731デフォルトの名無しさん:2013/04/04(木) 00:03:22.29
HashSet
732デフォルトの名無しさん:2013/04/04(木) 10:56:10.32
UniqueList<T>を自作
733デフォルトの名無しさん:2013/04/04(木) 11:27:09.86
JavaでいうSet(重複を許さないList)は C# にはないの?
734デフォルトの名無しさん:2013/04/04(木) 11:38:59.36
3.5以降ならHashSet、4以降ならSortedSetがある
735デフォルトの名無しさん:2013/04/04(木) 11:47:39.05
重複を許さず順番を保存するのはないのか
IList<T>かCollection<T>を継承してInsertItemかなんかオーバーライドしろってことか
736デフォルトの名無しさん:2013/04/04(木) 13:38:38.74
とっとと匿名型をメソッドから返せるようにするか
簡単なオブジェクトをサッと作れるようにせえよ
コンストラクタ書くのしんどいんじゃ
パブリックセッターに代入するクソ記法使うとあとあと困るしな
737デフォルトの名無しさん:2013/04/04(木) 21:52:44.16
listViewのMultiSelectで選択したアイテムのサブアイテムまでを含めたものを
文字列変数に格納したいのですがどうやればいいでしょうか?
りんご 10個 100円
みかん 10個 100円



これを変数にしまっておきたいです。(画面に表示する機能のないlistViewのような使い方をしたい)
738デフォルトの名無しさん:2013/04/04(木) 21:56:49.27
最後の括弧のせいで余計に意味が分からん
739デフォルトの名無しさん:2013/04/04(木) 21:58:24.45
クラス定義してリストか配列に入れとくのじゃダメなのか?
それともListViewSubItemの使い方を聞いてるのか?
740737:2013/04/04(木) 22:04:02.17
りんご、10個、100円
という3つの要素がある配列が複数行ある配列で
foreachなどの反復の中で順次追加していく配列の使い方を教えて欲しいです。
741デフォルトの名無しさん:2013/04/04(木) 22:05:46.43
あーそういうしつもんなんだー

SAN値チェック 1/1d4
742デフォルトの名無しさん:2013/04/04(木) 22:06:04.52
それは良くない配列の使い方
string[][]はサイズ変更が出来ないのでList<string[]>にするのがベター
743デフォルトの名無しさん:2013/04/04(木) 22:07:57.01
良くないというか、用途に合ってない
744737:2013/04/04(木) 22:10:55.63
List<string[]>で調べてみます。
ありがとー^^
745526:2013/04/04(木) 22:15:31.08
なぜか忌み嫌われているDatasetバインドじゃ駄目なのか
746デフォルトの名無しさん:2013/04/04(木) 23:46:08.55
特にデータを変更する必要がない場合って
List<T>とIEnumerable<T>のどっちがいいの?
747デフォルトの名無しさん:2013/04/04(木) 23:55:29.84
>>746
ダメな奴って質問も下手なんだな
748デフォルトの名無しさん:2013/04/05(金) 00:05:27.38
>>747
低脳は黙ってろ
749デフォルトの名無しさん:2013/04/05(金) 00:07:27.42
ダメなうえに幼稚ときてる。
>>746で質問の意図が他人に伝わると思ってるのなら人生早晩詰んでる。
750デフォルトの名無しさん:2013/04/05(金) 00:08:42.62
>>749
さっさと失せろよ、低脳な煽りしかできないゴキブリが。
751デフォルトの名無しさん:2013/04/05(金) 00:13:52.23
ただの変数ならList<T>、汎用的なメソッドの引数/戻り値ならIEnumerable<T>
752デフォルトの名無しさん:2013/04/05(金) 02:00:00.89
フォルダ中にある多数のファイルの中から、ある時点から更新されたファイルを見つけるには
全てのファイルを列挙してFileInfoをチェックするしかありませんか?
FileSystemWatcherのようなリアルタイムではなく、バックアップソフトのように時々動かします。
NTFSです。
753デフォルトの名無しさん:2013/04/05(金) 06:23:22.22
そらそうよ
754デフォルトの名無しさん:2013/04/05(金) 07:39:48.57
やっぱ連想配列やな
755デフォルトの名無しさん:2013/04/05(金) 16:33:39.79
ListViewでユーザーに選択させない方法ってないですか?
DataGridViewだったらRowValidatingイベントでできましたが、ListViewがわかりません
何かいい方法ありませんか?
756デフォルトの名無しさん:2013/04/05(金) 17:00:26.28
親のWM_NOTIFYでLVN_ITEMCHANGING見てLVIS_SELECTEDが変化してたら握り潰せばいいと思うよ
757デフォルトの名無しさん:2013/04/05(金) 19:11:08.09
こんな風に書いたイベントを消すにはどうしたらいいでしょうか?

button.Click += (s,e) => {
// ↑消したい
};
758デフォルトの名無しさん:2013/04/05(金) 19:24:51.51
無理
こんな感じには出来るが

Action<object, EventArgs> handler = null;
handler=(s,e)=>{button.Click -= handler;};
button.Click += handler;
759デフォルトの名無しさん:2013/04/05(金) 21:28:55.63
匿名にしたくせにあとからあいつは誰だって言い出してもらっても困る
760デフォルトの名無しさん:2013/04/05(金) 23:14:26.50
>>759
ああ、その表現良いな。
761デフォルトの名無しさん:2013/04/05(金) 23:16:01.81
調子に乗るな
762デフォルトの名無しさん:2013/04/06(土) 00:51:56.45
例えばコントロール名「Control」に「Value」というプロパティがあって、「ValueChanged」イベントが用意されてなかった場合、
自分で作るにはどうしたらいいですか?
763デフォルトの名無しさん:2013/04/06(土) 01:27:48.46
764デフォルトの名無しさん:2013/04/06(土) 02:35:02.18
>>762
あきらめる
765デフォルトの名無しさん:2013/04/06(土) 06:17:44.82
Controlクラスがsealedじゃないなら継承して
Valueプロパティがvirtualなら素直にオーバーライド、そうでないなら無理やり隠蔽するとか

class ControlEx : Control
{
 public event EventHandler ValueChanged;

 public override bool Value
 {
  get{ return base.Value; }
  set {
   if( base.Value != value ){
    base.Value = value;
    if( this.ValueChanged != null ){
    this.ValueChanged( this, EventArgs.Empty );
    }
   }
  }
 }
}
無理やりな場合はoverrideの代わりにnewキーワード
766デフォルトの名無しさん:2013/04/06(土) 11:25:31.21
ListViewでカーソルキーで移動してスクロールが発生した場合に
WM_VSCROLLイベントが発生しないのですが、イベントが違うのでしょうか?
767デフォルトの名無しさん:2013/04/06(土) 12:19:28.21
なんの情報をメンバ変数にすればよいのか悩んでいます。
自分のプログラムではメンバ変数がほとんど存在せず必要な情報は全てメソッドの引数に渡しています。

メンバ変数にするとどのタイミングでメンバ変数が更新されるか等が分かりずらく
全て引数で渡していればメソッドを呼ぶ前に力技でデータ加工して既存メソッドを使いまわす事ができるので
個人的には引数で渡す方がわかりやすいです。そんなプログラムが良いかどうかは疑問ですが・・・

皆さんはどんな情報をメンバ変数にしていますか。
また、メソッドを考える時に引数で渡すのか、メンバ変数を参照するのか等はどのように判断しているのでしょうか?
768デフォルトの名無しさん:2013/04/06(土) 12:20:12.08
PrintDocument.PrintPageの実装で、印刷エリアをPrintPageEventArgs.MarginBoundsから取得したけど、実際に印刷してみるとちょっとずれてる
PrintDocument.DefaultPageSettingsのHardMarginXとHardMarginYを、MarginBoundsのLeftとTopから引いたらずれが無くなったんだが、こういう直し方であってる?

msdnのサンプルはHardMarginについて触れてないし・・・
769デフォルトの名無しさん:2013/04/06(土) 12:28:08.47
>>768
確かあってる。
MSDNのサンプルがそれに触れてないのは、.NET Framework 1.xの時代には存在しなかったから。
770デフォルトの名無しさん:2013/04/06(土) 12:35:44.79
>>767
オブジェクト志向のオブジェクトってのは基本的にデータと振る舞いのセットだと言う
極論すればこのデータがメンバで保持する内容
1行目に関しては大方の人間がそう答えるでしょう

2行目以降は好き好きですね
自分がこれだと思うものを信仰してください
771デフォルトの名無しさん:2013/04/06(土) 12:44:21.05
引数を省略するためにフィールド(メンバ変数)を利用するな、っていうのは
OOP以前の常識だからいいけど、クラスにフィールドがほとんどないってのも
それはそれでちょっと奇妙だと思うけどw

なんかstaticおじさんと同じ勘違いをしてる気がする
772デフォルトの名無しさん:2013/04/06(土) 12:48:12.29
SAXのような設計もあるし、オブジェクトをデータと見なすのは大間違い
773デフォルトの名無しさん:2013/04/06(土) 12:48:42.23
>>769
サンクス
やっかいだなmsdnとdobon
774デフォルトの名無しさん:2013/04/06(土) 12:52:21.50
SAXみたいなパーサーは内部状態がデータだろ
見方の問題だよ
775デフォルトの名無しさん:2013/04/06(土) 12:55:35.69
どうせならユーティリティクラスを引き合いに出すべきだった
776デフォルトの名無しさん:2013/04/06(土) 13:07:51.30
SAXカッコいいだろ。
777デフォルトの名無しさん:2013/04/06(土) 13:42:43.20
状態を持ったオブジェクトはローカル変数だけにあらわれて消えていくデータと比べると
複雑さのケタが違うやね
どこからどういうルートで書き換えられるか無限の可能性が出てきてしまうし

ローカル変数ならifとかメソッド呼び出しとかの流れの中にデータの移り変わりがはっきり記述されるから分かりやすいけど
まあそれはそういうもんだからしょうがないわね
ローカル変数はいつまでも残っていてはくれないし
778デフォルトの名無しさん:2013/04/06(土) 13:50:44.37
ここは言語について講釈語るスレじゃないんだが
779デフォルトの名無しさん:2013/04/06(土) 13:57:46.42
状態を持たないオブジェクなんて、そもそもインスタンス化する必要がない。
手続きの集合で十分事足りるという事だぞ。
780デフォルトの名無しさん:2013/04/06(土) 14:00:35.92
インターフェイスdisってんの?
781デフォルトの名無しさん:2013/04/06(土) 14:36:01.82
この手の話はやっぱ荒れるな
お前がNo1だと認めたべじーたは偉いぜ
782デフォルトの名無しさん:2013/04/06(土) 15:39:35.80
荒れてるようには見えんが
783デフォルトの名無しさん:2013/04/06(土) 17:14:12.24
荒れるまで1分1秒の状態
784デフォルトの名無しさん:2013/04/06(土) 18:09:23.20
無慈悲な大荒れですか。
785デフォルトの名無しさん:2013/04/06(土) 18:09:40.16
全然荒れねーじゃねーか
786デフォルトの名無しさん:2013/04/06(土) 18:27:41.47
うちの地域では荒れてるよ
787デフォルトの名無しさん:2013/04/06(土) 19:11:23.12
>>777
>どこからどういうルートで書き換えられるか無限の可能性が出てきてしまうし

そのオブジェクトのスコープを小さくすればすべて解決。
無限の可能性がある時点で設計ミス。
788デフォルトの名無しさん:2013/04/06(土) 19:18:04.57
いまさらながらC#勉強したいんですが
オススメのサイトはありませんか?
10年ほど前にC中心にあれこれ基礎的なことやったくらいです
789デフォルトの名無しさん:2013/04/06(土) 19:41:35.38
無いんですよ・・・期待に沿えずごめんなさいね
790デフォルトの名無しさん:2013/04/06(土) 19:50:41.69
未確認なんたらかな
791デフォルトの名無しさん:2013/04/06(土) 20:49:26.49
792デフォルトの名無しさん:2013/04/06(土) 21:29:55.14
川俣って説明がまわりくどいよね。
コードも保守無視のコードばかり書いてそう。
793デフォルトの名無しさん:2013/04/06(土) 22:31:26.76
linqの本の人だっけ?
794デフォルトの名無しさん:2013/04/07(日) 08:50:30.28
中身が同じで32bitと64bitのunmanagedのDLLがあってこれをDllImportしたいんだけど
x86とx64の時で使い分けるにはどうすればいい?
別々の名前でDllImportしておいてポインタのサイズで環境を見分けて
呼び分けるラッパーメソッドを作る他にいい方法はある?
monoのdllmapみたいな仕組みがあれば便利なんだけど
795デフォルトの名無しさん:2013/04/07(日) 09:48:37.50
>>793
うん
796デフォルトの名無しさん:2013/04/07(日) 10:12:46.24
>>794
カレントディレクトリを変えるとかPATHを設定するとか
797796:2013/04/07(日) 11:26:23.58
これでいけるっぽい
[DllImport("kernel32.dll", CharSet = CharSet.Unicode)][return: MarshalAs(UnmanagedType.Bool)]
static extern bool SetDllDirectory(string lpPathName);
[DllImport("SampleDll.dll")]
static extern void Hello([MarshalAs(UnmanagedType.LPStr)]string name);
static void Main(string[] args) {
 SetDllDirectory(Environment.Is64BitProcess ? "./dll/x64/" : "./dll/x86/");
 Hello("Hoge");
}
LoadLibrary呼んで./dll/x64/SampleDll.dllってやっといてもいけるみたいだけどこの方が管理しやすいと思う
798デフォルトの名無しさん:2013/04/07(日) 13:37:23.44
それ他の部分に影響を与えない?
799デフォルトの名無しさん:2013/04/07(日) 13:53:09.12
与えるよ
だって検索パス変えてんだから
800デフォルトの名無しさん:2013/04/07(日) 13:54:18.73
SetDllDirectoryはアプリケーション内だけで有効だし
DLLが見つからないときに探しにいくパスを登録するだけだから特に問題はないのでは
というか与えるのが目的でしょ
801デフォルトの名無しさん:2013/04/07(日) 14:38:43.77
>>797
素晴らしい
これは思いもよらなかった
ありがとう
802デフォルトの名無しさん:2013/04/08(月) 23:06:06.33
google spreadsheet をC#で読み書きしたいのですが、
URLが

https://docs.google.com/spreadsheet/ccc?key=XXXXXXXXXXXXXXXXXXXXXXXX#gid=0

で与えられてるとき、これにアクセスする方法(サンプル)を教えて下さい
803デフォルトの名無しさん:2013/04/08(月) 23:12:38.79
Google Drive APIでも見たら?
804デフォルトの名無しさん:2013/04/08(月) 23:41:29.46
GDATA API のサンプルにはメアドとパスワードで認証する方法しかでてこないのでここで質問してます
805デフォルトの名無しさん:2013/04/08(月) 23:54:25.59
あっそ死んでろ
806デフォルトの名無しさん:2013/04/08(月) 23:58:30.74
わからないなら無理に書き込む必要ありませんよ
黙っててください
迷惑です
807デフォルトの名無しさん:2013/04/09(火) 00:02:27.57
誰が無理してるって?
セノビーはお前やろう
808デフォルトの名無しさん:2013/04/09(火) 00:03:57.28
ここはC#のスレであって一般のサービスの使い方を説明するところではない
日本語の意味が分かるならお引取り願おう
809デフォルトの名無しさん:2013/04/09(火) 00:07:11.10
誰もGoogle Drive APIなんか使ってないだろうし
ほっとけばスルーされて終わるのに
いちいち絡むから・・・
810デフォルトの名無しさん:2013/04/09(火) 00:09:58.98
>>809
失せろゴミ
811デフォルトの名無しさん:2013/04/09(火) 00:11:29.25
雑魚が無理してプログラミングなんかすんなよ
命にかかわるぞ
812デフォルトの名無しさん:2013/04/09(火) 00:17:30.79
もっと荒れろ
813デフォルトの名無しさん:2013/04/09(火) 00:33:48.50
ここではGDATA APIを使いこなすことすらできない人たちが威張ってるのですか
情けないスレですね
814デフォルトの名無しさん:2013/04/09(火) 01:29:11.44
>>813
失せろゴミ
815デフォルトの名無しさん:2013/04/09(火) 21:29:17.25
単発が湧いてきたな
816デフォルトの名無しさん:2013/04/10(水) 08:06:04.73
class Fuga
{
SortedList<int, SortedList<int, int>> hogeList;
public SortedList<int, SortedList<int, int>> HogeList { get { return hogeList; } set { hogeList = value; } }
}
Fuga fuga;を1つ作ってfuga.HogeListの中身をいくつものスレッドから見たいんだけど
そのいくつものスレッドからforを使ってfuga.HogeList.Values[n].Values[m]を見たりforeachを使って中身見たりしてるとたまにエラー出るのはなんで?
たとえば インデックスが範囲を超えています。負でない値で、コレクションのサイズよりも小さくなければなりません。 とか
シングルスレッドで動かせばエラー出ないし、fuga.HogeListの中身を変えようとはしてないのにどうして?
817デフォルトの名無しさん:2013/04/10(水) 08:52:24.46
仕様上ダメだから
それを承知で聞いてるとしたらソース見るしかない
818デフォルトの名無しさん:2013/04/10(水) 12:31:16.26
コレクションを変更しなければ、複数の同時読み込みは大丈夫だとMSDNに書いてあるな。
別の所でヘマしてるんじゃないか?
819デフォルトの名無しさん:2013/04/10(水) 12:50:40.36
エラーが出たときはリトライすればいい
820デフォルトの名無しさん:2013/04/10(水) 12:54:46.36
>fuga.HogeListの中身を変えようとはしてないのにどうして?
とか言いながら、メインスレッドで変えてるんじゃね?
821817:2013/04/10(水) 13:17:36.44
ごめん読み取りOKだったか
822デフォルトの名無しさん:2013/04/10(水) 13:21:42.74
foreachはアカンよ
823デフォルトの名無しさん:2013/04/10(水) 13:47:54.38
コレクションの変更がないなら、同じIEnumerator使い回すとかしない限り問題ないはずだが
824デフォルトの名無しさん:2013/04/10(水) 13:52:41.35
よく知らないのに断言する人いるけどなんなの?
825デフォルトの名無しさん:2013/04/10(水) 15:09:40.70
>>823
そもそもGetEnumeratorが常に同じオブジェクトを返す実装もありうるからな。
コレクションを変更しないからといって、foreachがスレッドセーフだと思っちゃいかん。
826デフォルトの名無しさん:2013/04/10(水) 15:19:21.94
Listが変更されないのにインデックスの範囲が超えるとか
おかしくね?
827デフォルトの名無しさん:2013/04/10(水) 16:22:03.39
>>825
foreach(var i in collection)
 foreach(var j in collection)
  〜
みたいなことができなくなるから、普通のコレクションじゃありえないだろう。
828デフォルトの名無しさん:2013/04/10(水) 18:32:58.78
ソース見る限りリストとイテレータに問題があるようには見えないな
インデックスが範囲を超えていますのエラーが出たとき添字とリストの中身確認したか?
829デフォルトの名無しさん:2013/04/10(水) 22:35:06.30
TabPage内を別Form(内部Form)で実装する場合に、Tabキー移動をうまいこと処理する方法ってない?

内部Formで↓を実装してみたら、Tabキー移動:成功、Shift+Tabキー移動:内部Form内でループだった
protected override bool ProcessTabKey(bool forward){
 return TabPageの親フォーム.SelectNextControl(ActiveControl, forward, true, true, true);
}
830デフォルトの名無しさん:2013/04/10(水) 22:42:42.24
> TabPage内を別Form(内部Form)で実装する
真剣に意味が分からない
831デフォルトの名無しさん:2013/04/10(水) 22:45:32.16
こんな感じ
TabPage.Controls.Add(new 内部Form());
832デフォルトの名無しさん:2013/04/10(水) 22:50:50.09
SortedListはスレッドセーフは保障しないって書いてるじゃん。
833デフォルトの名無しさん:2013/04/10(水) 23:30:46.03
どの部分?
列挙操作のスレッドセーフに関しては言及されてないように思うけど
834デフォルトの名無しさん:2013/04/10(水) 23:35:37.19
>>831
UserControlじゃダメなの?
既にあるFormを使い回したいとか?
うまくいかないって?
Tabでフォーカス当たらないとか?
835デフォルトの名無しさん:2013/04/11(木) 00:02:59.71
>>834
Formだとデザイナで作れる

Tabキー移動だと、TabPage内Formでフォーカスがループする。(TabControlの次/前のコントロールにフォーカスが移動しない)

で、>>829の実装だと、TabControlの次コントロールへ行けるけど、前コントロールには行けない
836デフォルトの名無しさん:2013/04/11(木) 00:10:28.00
UserControlだってデザイナでタブオーダー設定できるよw
変な小細工するより素直な方法でやった方が後のためだと思うけど
837デフォルトの名無しさん:2013/04/11(木) 00:10:38.25
UserControlもデザイナ使えるけど
838デフォルトの名無しさん:2013/04/11(木) 00:20:05.94
すまん、UserControlの存在自体知らなかった・・・
839デフォルトの名無しさん:2013/04/11(木) 04:40:21.28
>>833
http://msdn.microsoft.com/ja-jp/library/vstudio/ms132319.aspx
>コレクションの列挙処理は、本質的にはスレッド セーフな処理ではありません。
>すべての列挙処理が終わるまでコレクションをロックすることにより、
>列挙処理でのスレッド セーフを確保できます。
840デフォルトの名無しさん:2013/04/11(木) 07:02:47.38
>>839
そりゃどっか別の場所で変更される可能性があるから一般にはスレッドセーフではないと言ってるだけだ
もちろん、読み取りだけのつもりでも内部では例えばキャッシュなどで状態が変わる実装になってる可能性はある
841デフォルトの名無しさん:2013/04/11(木) 09:57:32.97
void Method( params int[] arr ){}
...
Method( 1,2 3 );

こういうのはできますが、引数を作るときってList<T>で作ることも多いじゃないですか

void Method2( List<int> lst ){}
...
Method2( 1, 2, 3 );

こういうふうに使いたいけど無理ですよね

void Method3( params List<int> lst ){}

これができればよかったんですけど
842デフォルトの名無しさん:2013/04/11(木) 10:03:49.10
void Method(params int[] args) { Method((IList<int>)args); }
void Method(IList<int> args) { }
のオーバーロードでも書いとけ
843デフォルトの名無しさん:2013/04/11(木) 10:07:29.46
なるほど……
844デフォルトの名無しさん:2013/04/11(木) 17:20:53.28
Hashtableってスレッドセーフですか?
ロックしないとダメですか?
ロックしてないのに全然エラーが出ないからこのままでいいか迷う
845デフォルトの名無しさん:2013/04/11(木) 17:23:02.14
そうか。列挙はしてないからいいのか。
846デフォルトの名無しさん:2013/04/11(木) 18:20:45.32
ConcurrentDictionary使うと(スレッドが)多い日でも安心
847デフォルトの名無しさん:2013/04/11(木) 18:34:09.53
未だに.NET1.1縛りなんて存在そのものがエラーだから気にしなくてOK
848デフォルトの名無しさん:2013/04/11(木) 18:34:53.67
Sendkyes.send("abc");
とかをクロームブラウザで表示されたページの
テキスト入力欄とかに送るとフリーズする人いる?
aaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbcccc...
みたいな感じで数千数万文字入力が送られる感じで
849デフォルトの名無しさん:2013/04/11(木) 18:35:55.72
さあ馬鹿が入荷しました。
850デフォルトの名無しさん:2013/04/11(木) 18:39:58.67
string x = "";
for (int i = 0; i < 50000000; i++) x += i;

ブラウザの中でこれをやらせてるに等しいんだから正気の沙汰じゃない
851デフォルトの名無しさん:2013/04/11(木) 18:52:30.18
どゆこと?
852デフォルトの名無しさん:2013/04/11(木) 19:23:29.01
>>840
おまえの脳みそは腐ってる。
853デフォルトの名無しさん:2013/04/11(木) 19:32:22.87
作った本人がスレッドセーフじゃないと言ってるのに
他人がそれは違う意味だ、これはスレッドセーフだと言う意味が分からんな。
しかも実際マルチスレッドで使ったら落ちてるのに。

というかここはスレッドセーフかどうかなぜMSDNを読まない? ちゃんと書いてるだろ。
854デフォルトの名無しさん:2013/04/11(木) 19:37:27.27
読んだ上で曲解してるんです
855デフォルトの名無しさん:2013/04/11(木) 19:40:48.77
>コレクションが変更されない限り、SortedList<TKey, TValue> では、複数の読み込み操作が同時に発生しても問題ありません。
856デフォルトの名無しさん:2013/04/11(木) 19:41:55.43
>ただし、コレクションの列挙処理は、本質的にはスレッド セーフな処理ではありません。

これなんで列挙処理はスレッドセーフではありません
って表現で書かないのかね
「本質的には」ってそんなに重要なところか?
つか本質じゃない要素ってどこにあるんだよ
857デフォルトの名無しさん:2013/04/11(木) 19:43:52.83
どうせ>>816の実装ミスだろ
858デフォルトの名無しさん:2013/04/11(木) 19:45:49.65
婉曲的な方が優雅な気がするだろ?
まあ、実際はくどいだけだが。
859デフォルトの名無しさん:2013/04/11(木) 19:51:19.55
>>856
ここで曲解する馬鹿のためにこんなのは常識だということを強調したんだよ。

本質的にスレッドセーフの難しさを分かってないんだよ。
自分で変数使って同期を実装する馬鹿ってたまにいるだろ。
そんなのでスレッドセーフにできるわけないのに。
860デフォルトの名無しさん:2013/04/11(木) 19:54:54.15
以下、本質的に話をするスレになります。
861デフォルトの名無しさん:2013/04/11(木) 19:58:47.65
>コレクションの列挙処理は、本質的にはスレッド セーフな処理ではありません。



>列挙操作のスレッドセーフに関しては言及されてないように思うけど


曲解ずきるだろ。
862デフォルトの名無しさん:2013/04/11(木) 20:22:32.02
まとめると

読み込みは問題ないけど列挙はスレッドセーフじゃないよ

でおk?
列挙は読み取りではないということか
863デフォルトの名無しさん:2013/04/11(木) 20:30:09.62
おkなわけねえだろ
864デフォルトの名無しさん:2013/04/11(木) 20:30:45.71
イテレータで読み込む度に現在位置情報書き換えてるもの。
各スレッドからアクセスしたらインデックスの範囲超えて当たり前。
865デフォルトの名無しさん:2013/04/11(木) 20:33:02.63
IEnumeratorを複数スレッドで共有する変態がいるらしい
866デフォルトの名無しさん:2013/04/11(木) 20:41:50.39
質問者はイテレータを共有している様子はないんだが

だからぁ、何か実装が間違ってんだろ
例外出たとき中身確認したか?
867デフォルトの名無しさん:2013/04/11(木) 20:47:48.34
MSDNにロックしろと書いてて、それをすればすべて解決するわけだが。

実装の間違いはロックしてないこと。
868デフォルトの名無しさん:2013/04/11(木) 20:50:17.86
お前質問者じゃないのになぜ解決するって言い切れるんだよ。

マルチスレッド動作してるときのインデクサの添え字の方に問題があるかも知れんぞ。
869デフォルトの名無しさん:2013/04/11(木) 20:51:02.70
ソースを読む限りロック云々ではない。
以上だ。
870デフォルトの名無しさん:2013/04/11(木) 20:53:57.26
>>868
それこそロックして出るならそれだとはっきり切り分けできるじゃないか。
今はマルチスレッドが原因だと疑ってんだろ。そこをまず潰さないとな。
871デフォルトの名無しさん:2013/04/11(木) 21:06:05.93
http://ideone.com/DCJQgk
これReleaseで10分ぶん回しても止まらないから俺も使い方がまずいに一票だな
872デフォルトの名無しさん:2013/04/11(木) 21:08:36.79
すべて解決するとか言い切った割に手仕舞いが早いでやんの。
873デフォルトの名無しさん:2013/04/11(木) 21:12:16.53
IEnumeratorを手書きしたことがあれば、列挙が非スレッドセーフなんて寝言は出ないだろうに
874デフォルトの名無しさん:2013/04/11(木) 21:14:11.65
それは本質的にいうとMSは手書きしてないということだな。
875デフォルトの名無しさん:2013/04/11(木) 21:15:18.84
つまり本質的に考えるならあのソースコードは自動生成ということですね
876デフォルトの名無しさん:2013/04/11(木) 21:15:28.03
IEnumeratorを手書きしたことがあれば、列挙はスレッドセーフなんて寝言は出ないだろうに
877デフォルトの名無しさん:2013/04/11(木) 21:17:31.07
>>875
Genericだからな。
878デフォルトの名無しさん:2013/04/11(木) 21:17:33.82
はいコピペ頂きました。
879デフォルトの名無しさん:2013/04/11(木) 21:30:49.85
>>873
IEnumeratorを(無駄に)スレッドセーフにしないのは普通だと思うけど
GetEnumeratorが常に同じインスタンスを返す実装なのは、すでに書いてる人がいるが
ちょっと問題ありのような...

通じないとあれなので一応補足しておくけど、GetEnumeratorが同じインスタンスを
返すのでなければ、普通はIEnumeratorがスレッドセーフじゃなくても問題は起こらないわけで。
880デフォルトの名無しさん:2013/04/11(木) 22:49:02.26
普通、列挙がスレッドセーフというとforeachブロックを抜けるまで競合が起こらないことを期待するけど
列挙処理は列挙子の複数のメンバを順番に繰り返し呼び出すから、各メソッドをスレッドセーフに実装しようが
いつでも元のコレクションの状態が変更されうるから
列挙処理全体としてはスレッドセーフにはならんという意味で「本質的には」なんじゃね
http://msdn.microsoft.com/ja-jp/library/vstudio/hwyysy67.aspx
この文脈だとそう解釈するのが自然な気がする
881880:2013/04/11(木) 22:55:24.61
補足
つまり列挙子の考え方そのものに起因する本質的な問題なので
コレクション側の実装によって競合状態が起きないことを保証するのは無理だということ
882デフォルトの名無しさん:2013/04/11(木) 22:57:42.72
GetEnumeratorにはこう書いてある
>列挙子はコレクションへの排他アクセス権を持たないため、コレクションの列挙処理は、本質的にはスレッド セーフな処理ではありません。

>列挙子はコレクションへの排他アクセス権を持たないため
つまりIEnumeratorがスレッドセーフかではなく、
列挙中のコレクション操作を防げないので列挙とコレクション操作が同時に発生するなら自分で何とかしてねという意味かと。
883デフォルトの名無しさん:2013/04/11(木) 22:59:11.47
あ、更新しないで投稿してしまった
884デフォルトの名無しさん:2013/04/11(木) 22:59:43.46
>>882
言ってることは>>880と同じだね
885デフォルトの名無しさん:2013/04/11(木) 23:12:02.79
>1 人のうち 0 人が、 が役に立ったと評価しました
こんなんで分かるかって評価してやったわ
てか一人目なの?ホントに?
886デフォルトの名無しさん:2013/04/11(木) 23:18:52.75
csc.exeのコマンドラインでSystem.Windows.Formsとかを参照に加えるにはどうしたら良い?
訳あってコマンドプロンプトでしか使えないのだ
887デフォルトの名無しさん:2013/04/11(木) 23:21:41.66
/reference:"(System.Windows.Forms.dllのパス)"
888デフォルトの名無しさん:2013/04/11(木) 23:22:59.31
>>886
csc /r:foo.dll /r:c:\womdpws\micro.....\v4.0\xxx.dll xxx.cs

windows formsのは標準で入ってるよ。
WPF関連は追加で入れないと行かんけど。
889デフォルトの名無しさん:2013/04/11(木) 23:24:25.89
>>888
うぉおおお!thxです
さっそくやってみます
890デフォルトの名無しさん:2013/04/11(木) 23:26:08.08
>>887
安価の方を先に見てた
thxです!!
891デフォルトの名無しさん:2013/04/12(金) 13:13:10.69
子フォームをShowDialog()している状態で
親フォームをクリックしたイベントってとれるんでしょうか?
892891:2013/04/12(金) 13:15:41.74
詳細を書いていませんでした。。実際は子フォーム以外をクリックしたら子フォームを閉じるようにしたいです。
LeaveやDeactivateではイベントが発生しませんでした・・
893デフォルトの名無しさん:2013/04/12(金) 13:55:17.06
ツールチップのようなものならDeactivateで閉じるようにしたFormをShowだろうね
一応呼び出し元をOwner指定しとかないとタスクバーから親Form閉じられた時になんかに残るかも
894デフォルトの名無しさん:2013/04/13(土) 00:38:27.03
GCの発生を抑止するにはどうしたらいいでしょうか?
895デフォルトの名無しさん:2013/04/13(土) 00:41:05.11
オブジェクトを生成するな
896デフォルトの名無しさん:2013/04/13(土) 00:44:12.84
プログラミングをするな
897デフォルトの名無しさん:2013/04/13(土) 00:46:34.80
違いました。どうやらバックグラウンドGCというのにしたいのですが
どうやればいいでしょうか?
898デフォルトの名無しさん:2013/04/13(土) 00:55:22.45
ラージオブジェクトヒープをなるべく使うな
899デフォルトの名無しさん:2013/04/13(土) 01:28:14.85
>>891
何言ってるのかよく分からないが、モーダルな動作がいやならShoowDialogじゃなくて
Showすればいいのの
900デフォルトの名無しさん:2013/04/13(土) 02:01:26.98
DictionaryってRemoveしたら列挙順変わるんだな
今まであんまり意識せずに使ってた・・・
901デフォルトの名無しさん:2013/04/13(土) 02:55:28.41
順番が重要ならList使え
902デフォルトの名無しさん:2013/04/13(土) 03:31:59.61
普通は基本アルゴリズムから勉強したものだが、
既にライブラリがある場合は何も勉強せずに使う人がいるのか。
903デフォルトの名無しさん:2013/04/13(土) 07:05:31.47
寝言はトイレットペーパーの芯にでも書いとけ
904デフォルトの名無しさん:2013/04/13(土) 07:40:37.88
ゆとりきたー
905デフォルトの名無しさん:2013/04/13(土) 12:02:38.36
メインスレッドに影響をあたえずGCする方法はないものか
906デフォルトの名無しさん:2013/04/13(土) 12:30:40.22
まだ寝ぼけたこといってるんですね
もうお昼ですよ?
907デフォルトの名無しさん:2013/04/13(土) 12:41:40.75
>>905
馬鹿に分かるように説明してやると
バックグラウンドGCは「既定で有効」だ
http://msdn.microsoft.com/ja-jp/library/at1stbec%28v=vs.110%29.aspx

メインスレッドが止まるなら、それは
「バックグラウンドGCでは済まなくなるメモリの使い方をしたせい」で
FullGCが行われていることを意味する

お前が馬鹿な設計をやめることが
「メインスレッドに影響をあたえずGCする方法」だ
908デフォルトの名無しさん:2013/04/13(土) 13:08:28.42
そんなの無理ww
909デフォルトの名無しさん:2013/04/13(土) 13:18:10.13
じゃあ妄想やめて自殺でもするんだな
910デフォルトの名無しさん:2013/04/13(土) 13:34:20.22
911デフォルトの名無しさん:2013/04/13(土) 13:48:23.15
少しずつnull入れていけばいいかな
912デフォルトの名無しさん:2013/04/13(土) 14:29:49.58
そういう問題でもない
913デフォルトの名無しさん:2013/04/13(土) 16:42:00.44
ぬるぬるぱーまん
914デフォルトの名無しさん:2013/04/13(土) 21:36:04.26
そんなに頻繁に止まるのなら
ラージオブジェクトヒープ使いすぎか世代2オブジェクト多すぎなんだろうし
nullの効果があるとは思えないな
そもそもなぜnullを入れるか分かってるのか
915デフォルトの名無しさん:2013/04/13(土) 22:00:57.00
>>914
日本語で頼む
916デフォルトの名無しさん:2013/04/13(土) 23:57:34.33
Disposeしてないとか?
917デフォルトの名無しさん:2013/04/14(日) 00:02:03.59
アンマネージリソースがよほどメモリ食ってる(Bitmapクラスとか)なら効果あるだろうね
そうでないならほとんど意味はない
918デフォルトの名無しさん:2013/04/14(日) 00:05:58.63
Bitmapです。
919デフォルトの名無しさん:2013/04/14(日) 00:08:34.14
windowsアプリケーションの基本的な仕組みを理解していないからそうなる
920デフォルトの名無しさん:2013/04/14(日) 00:16:28.82
>>918
どのくらいのサイズのBitmapを同時に何枚使ってんの?
921デフォルトの名無しさん:2013/04/14(日) 00:20:53.63
nullをいれないと1ギガくらいは余裕で超えます
922デフォルトの名無しさん:2013/04/14(日) 00:26:10.29
ということは、GC発生第3の要因「物理メモリが圧迫されている」が原因ですね
まず、nullを入れるとかいう<<<<<愚かな>>>>>対処ではなくちゃんとDisposeしてください

それでも駄目なら物理メモリの消費量を減らすしかありません
構造を見直してください
無理?
死になさい
923デフォルトの名無しさん:2013/04/14(日) 00:26:53.89
1GB・・・
924デフォルトの名無しさん:2013/04/14(日) 00:39:53.36
>>921
nullを入れるってことは自前のキャッシュ機構でも書いているのか?
だったらWeakReferenceを使ってみろ。

用もなく元のサイズのBitmapを保持するな。サムネイルを使え。
用があっても本処理まで元のサイズのBitmapが必要ないなら本処理のときに読み込め。

元のサイズのBitmapを常に保持しておかなければいけない・・・
そんな状態ならGCはもう不可避だ。抵抗は無意味だ。
925デフォルトの名無しさん:2013/04/14(日) 01:15:43.46
無理っぽいから.netの進化に期待することにしました。
926デフォルトの名無しさん:2013/04/14(日) 01:53:05.38
諦めなければ活路はある
かもしれない
927デフォルトの名無しさん:2013/04/15(月) 07:30:07.22
C++使えばいいじゃん。
928デフォルトの名無しさん:2013/04/17(水) 07:41:19.74
VisualStudioのアドイン作成の質問です
現在のcode viewのテキストを取得するにはどうすればよいのでしょうか?
ProjectItemからファイル名を取得して・・・だと、一旦保存して確定した内容になりますので。
(妥協してそれでもよいのですが)
よろしくお願いいたします
929デフォルトの名無しさん:2013/04/17(水) 16:50:42.70
C#だけで作られたウェブブラウザはありませんか?

GeckoFXを使ってHTMLを読み込んでから数秒後のJavaScriptが実行された状態の
HTML(DOMツリー)を検索できる検索エンジンを作っているのですが、
1プロセスに1インスタンスしか作れないのでクローラーが遅くて使い物になってません。
930デフォルトの名無しさん:2013/04/17(水) 16:57:53.69
WebBrowserコンポーネントじゃだめなの?
931デフォルトの名無しさん:2013/04/17(水) 17:51:40.21
いっそプロセスを沢山作る発想で
932デフォルトの名無しさん:2013/04/17(水) 18:04:57.55
NotifyIcon.Textを更新しながら常時表示することはできますか?
933デフォルトの名無しさん:2013/04/17(水) 18:12:33.96
>>932
何年か前に作ったラーメンタイマーができてるからできるんじゃね?
934デフォルトの名無しさん:2013/04/17(水) 19:13:41.25
Balloonの方か
935デフォルトの名無しさん:2013/04/17(水) 20:28:22.97
>>929
ウェブブラウザは非常に多くの計算を行うので
C#だけで作ると非常に遅くて使い物にならないのでありません
936デフォルトの名無しさん:2013/04/17(水) 20:56:12.95
昔はJava ME上で動くブラウザとかあったんだよ
937デフォルトの名無しさん:2013/04/17(水) 21:06:24.43
相談室でもCOMがどうとか質問したろ
正しくはXPCOMだけど
938デフォルトの名無しさん:2013/04/17(水) 21:23:58.71
FirefoxはChromeと違ってマルチプロセスじゃないじゃん
1プロセスに1インスタンスしか作れないにしても、複数のページはホストできるだろ
でないとタブブラウザなんて成立しないがな
939デフォルトの名無しさん:2013/04/18(木) 16:20:24.09
tar.Zで圧縮したいのですがChilkatというライブラリを
利用する以外方法が無いでしょうか?
940デフォルトの名無しさん:2013/04/18(木) 16:35:44.87
compress呼び出せばいいだろ
941デフォルトの名無しさん:2013/04/18(木) 16:41:25.11
tarも呼ばないとね
942デフォルトの名無しさん:2013/04/18(木) 17:08:17.32
無いですか。残念。
943デフォルトの名無しさん:2013/04/18(木) 18:56:06.10
Windows API で別windowsフォームの特定項目(たとえば、名前入力欄)

にプログラムから文字を入力しようとしているのですが

何か参考になるサイトはありますか?
944デフォルトの名無しさん:2013/04/18(木) 19:08:04.84
( ´・ω・)っ http://msdn.microsoft.com
945デフォルトの名無しさん:2013/04/18(木) 19:14:52.18
そっから探す能力がない人をそこに案内しても
946デフォルトの名無しさん:2013/04/18(木) 20:15:29.39
その名前入力欄とやらがエディットコントロールなのかどうかとか
本当に「Windowsフォーム」なのかとかいろいろ疑問に思うことはあるけど
めんどくさいからまぁいいか

そういう自動化ツールっぽいのって
素人なりに邪悪な用途の場合もあるし
947デフォルトの名無しさん:2013/04/18(木) 21:06:53.85
>>943
spy+で入力テキストボックス名を調べる

FindWindowExで探して
SendMessageStringで入力
948デフォルトの名無しさん:2013/04/18(木) 21:08:08.56
Spy++の間違いだった
949デフォルトの名無しさん:2013/04/18(木) 21:10:40.33
まだあった
SendMessage、WM_SETTEXTで入力の間違い
950デフォルトの名無しさん:2013/04/18(木) 21:11:21.71
WPFかもしれんしJavaかもしれんしQtかもしれんぞw
951デフォルトの名無しさん:2013/04/18(木) 21:32:36.07
他プロセスにWM_SETTEXTでポインタ渡せるのん?
952デフォルトの名無しさん:2013/04/18(木) 21:37:13.08
ポインタは渡せない(渡しても無意味)
OSがデータの受け渡しを中継するだけ
953デフォルトの名無しさん:2013/04/18(木) 22:41:46.67
>>947
Spy++で調べてみました。

ユーザ名を入力するウィンドウ
Handle: 00060C48
Class: Edit

>入力テキストボックス名
これは、Handle の事を差すのでしょうか?
954デフォルトの名無しさん:2013/04/19(金) 00:00:59.52
最近はマルチポストが流行ってるらしい
955デフォルトの名無しさん:2013/04/19(金) 11:08:29.12
マイクロ秒を取得するにはどうしたらいいでしょうか?

Randomのシードにミリ秒を使っているのですが、Processを使ったマルチプロセス時に
シードが被ることが多発しています。

Interlocked.Incrementを使ったマルチスレッドでの解決策はググって見つけたのですが
マルチプロセス時の解決策が見つからないのでマイクロ秒ではどうかと思った次第です。
956デフォルトの名無しさん:2013/04/19(金) 11:20:22.86
時刻にプロセスidも混ぜてシードにすれば
957デフォルトの名無しさん:2013/04/19(金) 11:29:55.45
時刻のハッシュ値+プロセスIDでいいな
958953:2013/04/19(金) 12:04:34.61
基本認証の掛かったWEBページにアクセスする際に
起動する認証ダイアログにユーザ名、パスワードを入力し
OKボタンを押そうと下記コードを記述しています。

※まだ、ユーザ名等を入力する方法が分からないので
ひとまず「OK」ボタンをWindows APIを使って押下しようとしています。


IntPtr h = FindWindow(null, "Windows セキュリティ");
if (h != IntPtr.Zero)
{
IntPtr h2 = FindWindowEx(h, IntPtr.Zero, "DirectUIHWND", "");
IntPtr h3 = FindWindowEx(h2, IntPtr.Zero, "Button", "OK");  ← ここで h3 の値が 0 になります。

PostMessage(h3, WM_LBUTTONDOWN, 0, 0);
PostMessage(h3, WM_LBUTTONUP, 0, 0);


}


一体なぜ h3 で値の取得をすることが出来ないのでしょうか?
959デフォルトの名無しさん:2013/04/19(金) 12:11:14.63
単に間違ってんだろ
親h2にしてるけどそれ合ってんの?絶対にか?
960デフォルトの名無しさん:2013/04/19(金) 12:47:46.09
とりあえず相談室で聞くのかこっちで聞くのかはっきりさせろ
あと>>943でWindowsフォームと言っていて>>958でWebページに変わっているのはなぜなのかを詳しく
961953:2013/04/19(金) 17:20:09.82
>>959
spy++ で確認したら OK ボタンの親コントロールは
DirectUIHWND でした。

>>960
Webページの間違いでした。
962953:2013/04/19(金) 17:37:24.41
IntPtr h2 = FindWindowEx(h, IntPtr.Zero, "DirectUIHWND", "");
IntPtr h3 = FindWindowEx(h2, IntPtr.Zero, "CtrlNotifySink", "");  ← Spy++ で確認したらありました。
IntPtr h4 = FindWindowEx(h3, IntPtr.Zero, "Button", "OK");  ← h4 が 0 になります。

PostMessage(h4, WM_LBUTTONDOWN, 0, 0);
PostMessage(h4, WM_LBUTTONUP, 0, 0);

どうも、CtrlNotifySinkのクラスが複数あることが原因の様なのですが
どうすれば、OKボタンのハンドルを取得出来るのでしょうか?

■Microsoft Spy++- Windows 1

Window 00191048 "" DirectUIHWND
  Window 00421158 "" CtrlNotifySink
    Window 002E11F2 "OK" Button

  Window 001B12F4 "" CtrlNotifySink
    Window 00160DCE "キャンセル" Button
963デフォルトの名無しさん:2013/04/19(金) 17:46:40.51
EnumChildWindowsでも使えば
964953:2013/04/19(金) 18:43:27.51
>>963
今回の様な状況で
EnumChildWindows を使う方法を解説したサイトをご存じでないですか?
965デフォルトの名無しさん:2013/04/19(金) 18:46:18.82
あのね、ぐーぐるってあるのね。
ぐーぐるにね、かんれんしたことばをにゅうりょくしてね、
えんたーきーを おすとね、きっとたくさんおしえてくれるのね、
966デフォルトの名無しさん:2013/04/19(金) 18:58:57.09
煽るな
枯死させろ
967デフォルトの名無しさん:2013/04/19(金) 19:01:08.90
Windows API 難しいなぁ。。。
968デフォルトの名無しさん:2013/04/19(金) 19:05:23.42
EnumChildWindowsの使い方なんて決まりきってるのに状況も糞もない
969デフォルトの名無しさん:2013/04/19(金) 19:07:13.29
正直UI操作するよりProxyでやった方がはるかに楽
970962:2013/04/19(金) 19:08:10.34
DirectUIHWND の中に
CtrlNotifySink が2つあるので FindWindowEx で走査対象は

0 では無く 1番目から

といった指定をする事は出来ないのでしょうか?

IntPtr h3 = FindWindowEx(h2, IntPtr.Zero, "CtrlNotifySink", "",{1番目}); 
971デフォルトの名無しさん:2013/04/19(金) 19:12:03.97
MSDNにできると書いてないならできませんよ
972デフォルトの名無しさん:2013/04/19(金) 19:14:11.79
まあ、できるならEnumChildWindowsでも使えなんて言わないけどね
973デフォルトの名無しさん:2013/04/19(金) 19:15:42.49
ところがね、実はできると書いてあるんですよ
2番目の引数使えば
974デフォルトの名無しさん:2013/04/19(金) 19:27:39.91
時間というものはこのようにして浪費されていくのだなあ
975962:2013/04/19(金) 19:49:30.68
>>969
Windows API を使って入力 > OK ボタンを押したいんです。


>>973
>973 名前:デフォルトの名無しさん[sage] 投稿日:2013/04/19(金) 19:15:42.49
>ところがね、実はできると書いてあるんですよ
>2番目の引数使えば

マジですか!?
976デフォルトの名無しさん:2013/04/19(金) 19:56:46.51
マジですよ
じゃあ頑張ってね
977デフォルトの名無しさん:2013/04/19(金) 23:17:13.22
>>976
ありがとうございます!!まじで出来ました!

>>972
バカはお前www
978デフォルトの名無しさん:2013/04/20(土) 10:25:32.59
すみまっせん
962から976までの書き込みであなたのものじゃない奴は全部俺なんですよ
つまり972も976も
979デフォルトの名無しさん:2013/04/20(土) 10:43:13.05
ここまで全部俺の自演
980デフォルトの名無しさん:2013/04/20(土) 16:28:15.01
何だこの流れ…

spy++使えって教えたのは俺

しかしこの内容だったらまともにc#でweb認証していれば
認証ダイアログも出ないのになあ…
win32 APIなんて使う必要なし

最初っからwebって書けよ
981デフォルトの名無しさん:2013/04/20(土) 16:33:03.90
fireFoxやChrome使ってたら使えないか…
982デフォルトの名無しさん:2013/04/20(土) 23:40:28.14
982
983デフォルトの名無しさん:2013/04/21(日) 01:53:07.13
983
984デフォルトの名無しさん:2013/04/21(日) 02:09:56.07
>>980
スレ立てお願い
985デフォルトの名無しさん:2013/04/21(日) 04:40:41.07
986デフォルトの名無しさん:2013/04/21(日) 05:53:41.60
987デフォルトの名無しさん:2013/04/21(日) 06:22:18.89
>>980
次スレよろ
988デフォルトの名無しさん:2013/04/21(日) 08:59:08.08
989デフォルトの名無しさん:2013/04/21(日) 09:21:14.87
次スレ
ふらっとVisual C#,C♯,C#(初心者用) Part104
http://toro.2ch.net/test/read.cgi/tech/1366503422/
990デフォルトの名無しさん:2013/04/21(日) 09:29:23.00
>>989
おつ
991デフォルトの名無しさん:2013/04/21(日) 09:53:06.89
>>989
992デフォルトの名無しさん:2013/04/22(月) 02:24:06.05
うめ
993デフォルトの名無しさん:2013/04/22(月) 04:29:45.81
ウメ
994デフォルトの名無しさん:2013/04/22(月) 06:11:51.99
995デフォルトの名無しさん:2013/04/22(月) 07:54:52.36
うめ
996デフォルトの名無しさん:2013/04/22(月) 10:13:59.09
産め
997デフォルトの名無しさん:2013/04/22(月) 13:53:38.58
産む
998デフォルトの名無しさん:2013/04/22(月) 19:53:26.50
うめ
999デフォルトの名無しさん:2013/04/22(月) 19:55:39.80
ほらやるよ
1000デフォルトの名無しさん:2013/04/22(月) 19:58:33.35
ほい
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。