トップページ⇒tech
1001コメント309KB

C#, C♯, C#相談室 Part71

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2012/03/24(土) 16:43:24.60
前スレ
C#, C♯, C#相談室 Part70
http://toro.2ch.net/test/read.cgi/tech/1327570969/

Visual Studio 2010 Express
http://www.microsoft.com/japan/msdn/vstudio/express/default.aspx
0253デフォルトの名無しさん2012/04/18(水) 16:31:33.58
こういう奴のせいで
プログラマーって根暗で陰湿でキモいって言われるんだよな
0254デフォルトの名無しさん2012/04/18(水) 18:20:08.85
↓ネトウヨ王
0255デフォルトの名無しさん2012/04/18(水) 20:49:29.56
バリバリの左翼過激派革命家ですが何か?
0256デフォルトの名無しさん2012/04/18(水) 21:31:59.57
せいぜい中国様韓国様に媚び売ってなさい
0257デフォルトの名無しさん2012/04/18(水) 21:46:55.23
>>255
さっさと尖閣に向かう準備しろよ。ヘルメットを忘れるな
0258デフォルトの名無しさん2012/04/19(木) 23:00:59.57
Graphic g = PictureBox.CreateGraphics();


これで生成したgにHoverイベントのリスナーを設定することってできるのでしょうか?
0259デフォルトの名無しさん2012/04/19(木) 23:33:14.70
Hover って MouseHover のことかな。

なら Graphics に MouseHover イベントは無いから出来ない。
PictureBox が MouseHover イベント持ってるからそれを使えばいい。
0260デフォルトの名無しさん2012/04/20(金) 00:07:27.98
>>259
ありがとうございます
HoverはMouseHoverのことでした

すると、Graphicsで描いた図形にマウスを載せたらカーソルが変化する・・・っていうのを作る場合、
Graphicsの座標を記憶しておいて、そこの範囲内に侵入したかをMouseMoveで判定して

Cursor.current = Cursor.Cross;

とかにしないといけないんですか・・・
0261デフォルトの名無しさん2012/04/20(金) 00:09:28.86
なんとなく君の話を聞いてて直感で思ったのは

いろいろと勘違いしてて変なことをしないといけないと思い込んでそう

かなw
0262デフォルトの名無しさん2012/04/20(金) 07:08:24.07
素直にオブジェクトのイベントを使ってフラグ立てるといい
0263デフォルトの名無しさん2012/04/20(金) 07:10:19.84
やったことないけどコントロールの外周を任意に設定できなかったっけ?
Regionとかで
0264デフォルトの名無しさん2012/04/20(金) 07:13:26.22
>>263
その前にイベントとCreateGraphicsが入り乱れることはないと思うんだけどなw

PictureBox上で座標とか拾って後は個別で管理してる図形との
当たり判定すればいいだけなんだし

だからこそ>>261
0265デフォルトの名無しさん2012/04/20(金) 07:17:05.89
そうだけどそんなことでしつこく弄ることもないだろ・・・
ほんと>>252これ
0266デフォルトの名無しさん2012/04/20(金) 07:21:37.75
>>263
http://dobon.net/vb/dotnet/form/formregion.html
FormじゃなくてControlにもregion適用できる
0267デフォルトの名無しさん2012/04/20(金) 07:22:41.42
>>265
陰湿なんじゃなくて文字でしかやり取りできない上に質問する人も
よくわかってないことをソースもなしで独り言をいうかのように書き込むから
こっちも的確な答えができないだけ

なので漠然とした書き込みには漠然としたやり取りになるだけ

>>258で何がしたいかわかる?
0268デフォルトの名無しさん2012/04/20(金) 07:27:47.12
>>267
質問の意味がわからなければスルーすればいい、煽ることはない
0269デフォルトの名無しさん2012/04/20(金) 07:32:01.37
相手が何を言いたいのか理解できないから相手の人格批判を始め質問を切って捨てる→陰湿な人
理解できないからスルー→普通
質問のし方が悪いと伝えて何がわからないのか説明させ直す→相手の成長を考えた上司
もしかしてこういう質問じゃないか、だとしたら答えはこれ→エスパー
0270デフォルトの名無しさん2012/04/20(金) 07:32:52.21
>>268
意味がわからないんじゃなく目指す先がわからない

この差は違うけどそう思わないんだろうな・・・


xxxのようなことを実現したいんだけど・・みたいなのがあればわかりやすいんだが
>>258のようなトンチンカンな話だけだしねえ
0271デフォルトの名無しさん2012/04/20(金) 07:33:58.89
>>269
それは質問者と同じ空間を共有してる場合だよね

文字だけでやり取りする掲示板だとリアル以上にやり取りは困難だよw
0272デフォルトの名無しさん2012/04/20(金) 07:51:25.35
まず相手を批判して侮辱して相手が如何にクズが伝えて自分が優位な立場に立ってから
もし答えを知っていて気分がよかったら上から目線で答えてあげるのがこいつ
0273デフォルトの名無しさん2012/04/20(金) 07:54:49.88
相手のレベルに合わせて話をするのを要求されるのが、リアル世界だからな。
あんなんで機嫌を損ねる人間がいるという純然たる事実の前には、
一般常識など吹っ飛ぶ世界があることを彼は知るべき。
0274デフォルトの名無しさん2012/04/20(金) 07:57:43.16
長年夫婦やってるんじゃないんだからさ

あれどこだっけ?

みたいな質問されてもわからん

結局ヒアリングするしかない

そのヒアリングの仕方がちょっとおかしく感じただけで煽られてるとか被害者ぶるのは辞めたほうがいい


そもそも質問内容があやふやだから回答するほうも困ってるんだし
0275デフォルトの名無しさん2012/04/20(金) 08:01:38.87
ヒアリングもしないで相手を馬鹿にする奴が偉そうなことを言わないで欲しい
0276デフォルトの名無しさん2012/04/20(金) 08:06:38.75
>>275
俺は、ヒアリングが下手だと言ってるんだよ。貴方は馬鹿にされたと思ったんでしょ?

ただ、貴方に配慮する義務もねーし、偉そうに言う自由もあるんだな。
0277デフォルトの名無しさん2012/04/20(金) 08:11:16.22
陰湿だと認めたということか
0278デフォルトの名無しさん2012/04/20(金) 08:12:12.46
俺とは関係ないところで話が進んでるw
0279デフォルトの名無しさん2012/04/20(金) 10:02:07.91
根暗の巣窟はこのスレですか?
0280デフォルトの名無しさん2012/04/20(金) 10:12:36.57
でも実際、開発現場では、あいまいな指示から意図を掴む能力って必要になるよねー。
0281デフォルトの名無しさん2012/04/20(金) 11:50:02.98
http://farm1.static.flickr.com/69/163628616_2172b9458c.jpg
0282デフォルトの名無しさん2012/04/20(金) 12:09:54.61
開発現場とどこぞの井戸端の区別すらつかないくらい病むんだな
違う業種でほんと良かったw
0283デフォルトの名無しさん2012/04/20(金) 12:12:58.01
プログラミングスキルよりもエスパーなスキルのほうが必要とされるのか?
0284デフォルトの名無しさん2012/04/20(金) 12:27:44.45
上流工程でクライアントの意図を掴むためにはそういうこともあるんじゃね?
0285デフォルトの名無しさん2012/04/20(金) 12:41:02.77
IBMにはエスパーが足りなかったということですね
0286デフォルトの名無しさん2012/04/20(金) 12:46:11.25
他のSI'er に比べたらましな部類じゃね?
0287デフォルトの名無しさん2012/04/20(金) 12:46:24.20
>>281
www
0288デフォルトの名無しさん2012/04/20(金) 13:28:01.05
配列a,bがあった時にa+bと書くと2つをつなげた配列を返してくれるとすごい便利だと思います
var c = a.Concat(b).ToArray();
var c = a + b;
これを拡張メソッドで
public static T[] operator+ (T[] array1, T[] array2);
と書くとコンパイルエラーになるのですが、どうすればいいでしょうか

0289デフォルトの名無しさん2012/04/20(金) 13:34:40.85
既存の型同士の演算子はオーバーロードできないので諦める
個人的には便利と思うほど配列の連結なんてやらんな
0290デフォルトの名無しさん2012/04/20(金) 13:43:40.68
演算子のオーバーロードは忘れた頃に効いてくるからやめたほうがよい
ぱっと見で組み込み型か配列か良くわからないとかバグの素
0291デフォルトの名無しさん2012/04/20(金) 13:48:57.41
そういえばC++の頃はしつこいくらいテンプレート使ってたのにC#ではぜんぜんジェネリック使わないなぁ
Linqでだいたい用事が済むからなのかな
02922882012/04/20(金) 14:16:37.12
便利だと思うんだけどなあ
無理そうなので諦めます
0293デフォルトの名無しさん2012/04/20(金) 14:21:24.45
ジェネリック、ライブラリ実装側でよく使う機能だしね。
LINQ 自身はジェネリックに作られてるけど、使う側はそれを別に意識しないという。
0294デフォルトの名無しさん2012/04/20(金) 14:22:12.34
>>292
少し便利になると思うけど、はまりどころ増す度合いの方がでかい。
array1.Concat(array2) で OK。
0295デフォルトの名無しさん2012/04/20(金) 19:05:58.70
FormのControlBoxプロパティをFlaseにしたいけれど、ウィンドウの影は表示したい場合ってどのようなトリックで実装していますか?
0296デフォルトの名無しさん2012/04/20(金) 19:34:31.10
ウィンドウの影ってのが何を指すのか分からんが
とりあえずControlBox=falseにしても普通にウィンドウボーダーが出るな
FormBorderStyleはまた別の話
0297デフォルトの名無しさん2012/04/20(金) 19:54:08.03
すきっ腹パンダンゴ
0298デフォルトの名無しさん2012/04/20(金) 20:23:58.91
>>291
使えよ、いまさら何型引数にしたらいいかワケワカメなコード書いてんじゃねぇ
0299デフォルトの名無しさん2012/04/20(金) 20:34:45.80
C#でジェネリック使わないとかなんのためにC#使ってんの?
0300デフォルトの名無しさん2012/04/20(金) 20:48:29.51
ジェネリックの new制約で、引数ありのコンストラクタを使いたい場合はどうしたらいいんでしょうか?
0301258, 2602012/04/20(金) 21:02:46.24
>>261-
すいません、今までテキスト転記とかDB登録とかばかりやっていて画像処理系はほとんどやったことなかったんです

Regionとか他のイベントとかためしてみます
ありがとうございました。
0302デフォルトの名無しさん2012/04/20(金) 21:05:09.96
>>300
それは、無理。
0303デフォルトの名無しさん2012/04/20(金) 21:10:01.02
>>302
ありがとうございます
0304デフォルトの名無しさん2012/04/20(金) 21:24:24.97
>>298
Linq使ってんだからそりゃ使ってるよ
C++の頃のようには使わなくなったって話だ
0305デフォルトの名無しさん2012/04/21(土) 00:42:41.14
いつごろだかわかんないが、プログラム言語と直接関係ない記述が、
プログラムの動作の重要な部分を決めちゃうようになってきたんだよなー。
まあ、.net は言語間の機能を共通化する意図があるんだろうけど。
0306デフォルトの名無しさん2012/04/21(土) 04:34:13.36
>>305
の言いたいことはよく分からないけど、
でもなんか酷く気になることを言ってる気がする。
0307デフォルトの名無しさん2012/04/21(土) 04:57:48.56
よろしくお願いします

http://uchukamen.com/Programming1/HTMLGet/index.htm
のページの非同期GETをみて、Webページを取得してくるものを書きましたが、

System.Net.WebException: The operation has timed out.
at System.Net.WebConnectionStream.Read (System.Byte[] buffer, Int32 offset, Int32 size) [0x00000] in <filename unknown>:0
at System.IO.StreamReader.ReadBuffer () [0x00000] in <filename unknown>:0
at System.IO.StreamReader.Read (System.Char[] buffer, Int32 index, Int32 count) [0x00000] in <filename unknown>:0
at System.IO.StreamReader.ReadToEnd () [0x00000] in <filename unknown>:0

という例外が、StreamReaderをReadToEndするところで発生してしまいます。
例外が発生したあとにもう一度、非同期GETをすると取得できることがあります。
取得するページはhttp://www.yahoo.co.jp/でブラウザなどからは問題なく見れています。

考えられる原因はどんなものがあるのでしょうか
0308デフォルトの名無しさん2012/04/21(土) 05:05:07.20
だからかいたソース出せって
0309デフォルトの名無しさん2012/04/21(土) 05:51:17.66
>>308
:
 ('A`)ノ  くまの子みていた
  ノ( ヘヘ

  ('A`) かく   ('A`) れん
  ∨)       (∨
  ((        ))

 ヽ('A`)ノ  ぼっ♪
  (  ) ゛
 ゛/ω\

       ('A` )  おしりを出した子 いっと…
      (⊃⌒*⌒⊂)
       /__ノωヽ__

 __[警]
  (  ) ('A`)
  (  )Vノ )
   | |  ω|
0310デフォルトの名無しさん2012/04/21(土) 06:48:58.76
Timeout が1秒だからじゃね?
03113072012/04/21(土) 06:54:12.93
>>308
ソースコードです

void Hoge() {
 try {
 var webRequest = HttpWebRequest.Create("http://www.yahoo.co.jp/");
 webRequest.BeginGetResponse(new AsyncCallback(requestCallback), webRequest);
 } catch (Exception e) {
 Console.WriteLine(e);
 }
}



private static void requestCallback(IAsyncResult ar) {
try {
var webRequest = (HttpWebRequest)ar.AsyncState;
var webResponse = (HttpWebResponse)webRequest.EndGetResponse(ar);
StreamReader sr = new StreamReader(webResponse.GetResponseStream());

string data = sr.ReadToEnd();
sr.Close();
Console.WriteLine(data);
 } catch (Exception e) {
 Console.WriteLine(e);
 }
}
0312デフォルトの名無しさん2012/04/21(土) 08:17:13.17
ThreadPoolに丸ごと入れるから非同期メソッド使ったことないなぁ
03133072012/04/21(土) 08:23:02.86
自己解決しました。お手数おかけしました
http://msdn.microsoft.com/ja-jp/library/system.net.httpwebrequest.begingetresponse(v=vs.80).aspx
0314デフォルトの名無しさん2012/04/21(土) 10:46:12.04
>>300
ファクトリーパターン使うのがセオリー
いちいちクラス作るのが面倒ならデリゲートで
0315デフォルトの名無しさん2012/04/21(土) 11:34:38.46
2次元配列から1次元配列を取り出すいい方法ないですか?
var array = new float[100, 100];
var row = array[0,];
みたいな。
0316デフォルトの名無しさん2012/04/21(土) 11:40:24.22
二次元配列なんぞ使うからそう言う残念なことになる
0317デフォルトの名無しさん2012/04/21(土) 11:42:32.22
>>315
ない
そういう場合に限らず、多次元配列は一切使わないで
常に配列の配列を使うのが基本
03183152012/04/21(土) 11:51:53.90
ジャグ配列はコピーするのがめんどくさいです....
コピーするのに1行では書けないですよね?
0319デフォルトの名無しさん2012/04/21(土) 11:56:09.74
>>318
100*100の一次元配列にしてy*100+xとか計算してアクセスすればいいんじゃね?
0320デフォルトの名無しさん2012/04/21(土) 11:56:52.79
List<List<float>>
0321デフォルトの名無しさん2012/04/21(土) 11:58:02.10
シリアライズしてコピーすればいいんじゃね?
0322デフォルトの名無しさん2012/04/21(土) 12:02:52.68
そもそもどういうデータが二次元配列になってて
どういうことで使うからコピーする羽目になってるのかねえ
0323デフォルトの名無しさん2012/04/21(土) 12:42:40.21
>>318
コピーするメソッド用意すればいいだろ・・
0324デフォルトの名無しさん2012/04/21(土) 12:52:57.97
array.Select(row => row.ToArray()).ToArray()
0325デフォルトの名無しさん2012/04/21(土) 13:19:48.53
for (int i = 0; i < src.Length; i++) Array.Copy(src[i], dest[j], src[i].Length);
複製なら>>324で一行だし、既存の配列へのコピーも普通に書いてこんだけだろ
0326デフォルトの名無しさん2012/04/21(土) 23:32:13.99
てst
0327デフォルトの名無しさん2012/04/21(土) 23:58:30.76
List<List<List<List<List<List<List<List<List<List<List<List<List<List<Bitmap>>>>>>>>>>>>>>
0328デフォルトの名無しさん2012/04/21(土) 23:58:51.71
1st
2nd
3rd
4th
0329デフォルトの名無しさん2012/04/22(日) 00:22:27.96
>>324
横からすいません
そのコードの意味を詳しく教えて頂けないでしょうか
0330デフォルトの名無しさん2012/04/22(日) 07:18:16.27
>>329
object[][] array0;
object[][] array1 = array0.Select(object[] row => row.ToArray()).ToArray();

こういう書き方はしないけど意味はこんな感じ
ToArray()で配列をコピーしてる
0331デフォルトの名無しさん2012/04/22(日) 09:25:05.01
array1 = new object[array0.Length][];
for (int i = 0; i < array0.Length; i++) {
array1[i] = array0[i].ToArray();
}
この場合ToArrayはCloneと同じ
このループをLINQで省略してしまうと(まったく同じというわけではないが)
array0.Select(row => row.ToArray()).ToArray()になる
0332デフォルトの名無しさん2012/04/22(日) 09:34:59.26
LINQで見た目はシンプルにしたところでコピーコストは発生するんでしょ?
ラインまたぎでコピーしないのなら>>320でいいと思うけど
0333デフォルトの名無しさん2012/04/22(日) 10:23:24.57
ToArray付けなきゃコピー発生しないよ?
0334デフォルトの名無しさん2012/04/22(日) 10:55:25.96
コピーが嫌で>>320ならいいと思う意味が分からない
0335デフォルトの名無しさん2012/04/22(日) 11:27:29.29
請願合戦で米政府HPがダウン 日本海呼称めぐり

 【ソウル共同】韓国紙の朝鮮日報(電子版)は21日、米国の教科書に記載されている
「日本海」の呼称を「東海」に変更するよう求める韓国人と、現状維持を訴える日本人が、
それぞれの要望文を米ホワイトハウスのホームページ(HP)の「請願コーナー」に互いに大量に
アップしたため、同HPが一時ダウンしたと報じた。

 同紙によると、米首都ワシントン郊外のバージニア州の韓国人会が3月下旬、
「子どもたちが間違った歴史を学ばされている」として「呼称の訂正」を要求する請願文を
寄せたのを機に、韓国人の請願運動が始まった。

http://www.kobe-np.co.jp/knews/0004992358.shtml
0336デフォルトの名無しさん2012/04/22(日) 12:23:42.53
ToArrayしたところで要素が参照型だと完全なコピーは、されない。
0337デフォルトの名無しさん2012/04/22(日) 14:47:11.92
情報処理学会は2012年4月20日、ツイッターで、4月15日に発行した学会誌「情報処理」5月号の一般販売分が19日に売り切れたと発表した。

増刷は困難なため、同日から特集のみを別刷りした冊子(700円)の予約販売をAmazonでおこなっている。

「情報処理」5月号は、表紙に初音ミクが登場し、「CGMの現在と未来」と題する初音ミクやニコニコ動画を扱った特集を掲載していた。

ツイッターによれば、「一般販売が売り切れたのは1960年の学会設立以来、初めての出来事」だ。

担当者に話をきくと、話題になるのを見越して一般販売分を「200部増やした」とのことだが、初音ミク効果にはかなわなかったようだ。

通常1680円の冊子にAmazonでは現在、中古で4969円という値段がついている。

http://www.j-cast.com/mono/2012/04/20129743.html
http://ecx.images-amazon.com/images/I/51YWE1OE5JL.jpg
0338デフォルトの名無しさん2012/04/22(日) 14:57:40.89
コピペ君って馬鹿だな、まで読んだ。
0339デフォルトの名無しさん2012/04/22(日) 18:35:48.46
ジェイエルドットジェイピージー、まで読んだ。
0340デフォルトの名無しさん2012/04/23(月) 12:24:19.34
わざわざ読んだんだ偉いねーボク

毎度毎度荒らしに反応してんじゃねえよくたばれ
0341デフォルトの名無しさん2012/04/23(月) 12:25:44.35
それ自演だから…
0342デフォルトの名無しさん2012/04/23(月) 22:50:49.88
じぇんじぇん気づかなかったわ
0343デフォルトの名無しさん2012/04/23(月) 23:22:09.85
北朝鮮、韓国に「特別行動」予告 「瞬時に焦土化する」

北朝鮮の朝鮮人民軍最高司令部特別作戦行動グループは23日、韓国に対し「革命武力の特別
行動がすぐに始まる」と通告し、「始まれば3、4分、あるいはそれより瞬時に、特別な手段と我々の
やり方で挑発者と根源を焦土化する」と宣言した。朝鮮中央通信が伝えた。

李明博(イ・ミョンバク)大統領が20日の講演で北朝鮮を批判したことに対して「最高尊厳(金正恩
〈キム・ジョンウン〉第1書記)を冒涜(ぼうとく)」したと反発している。特別行動の対象は李大統領や
東亜日報などのメディアだとし、「最高尊厳を死守するための聖戦だ」と強調したが、具体的な行動
の中身には触れていない。

また、北朝鮮外務省報道官は22日、「朝鮮半島で何か起きればすべての責任は李明博(大統領)
にある」と警告。「同盟国や同伴者(友好国)などとして人間のクズ(李大統領)を擁護し、民族内部
に干渉する国があるなら、攻撃を免れない」として米国などを牽制(けんせい)した。
(ソウル=箱田哲也)

http://www.asahi.com/international/update/0423/TKY201204230234.html
0344デフォルトの名無しさん2012/04/23(月) 23:33:30.88
ネトウヨきもっ、まで読んだ。
0345デフォルトの名無しさん2012/04/24(火) 01:28:51.67
地上から朝鮮人が消え去るならいい事だ
0346デフォルトの名無しさん2012/04/24(火) 05:03:20.58
北朝鮮がんばれ〜
0347デフォルトの名無しさん2012/04/24(火) 06:33:36.33
男は黙って透明あぼーん
0348デフォルトの名無しさん2012/04/24(火) 13:08:47.83
黙れ
0349デフォルトの名無しさん2012/04/24(火) 13:44:40.95
中国の仕様がいまいちなので分割してChina#にしてくれ
0350デフォルトの名無しさん2012/04/24(火) 13:58:50.70
プロパティそのものを引数で受け取る関数を作りたいのですがどうすれば可能ですか
一応プロパティ名を文字列で受け取ってリフレクションで呼び出せたのですが、
もう一歩進んでプロパティそのものを受け取りたいです
0351デフォルトの名無しさん2012/04/24(火) 14:38:40.82
そういうことをできないようにしてトラブルを未然に防ぐためのプロパティ
ポインタで受け渡ししたいならフィールドにする
0352デフォルトの名無しさん2012/04/24(火) 14:39:27.39
PropertyInfo
■ このスレッドは過去ログ倉庫に格納されています