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

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

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

1 :ななしぃ ◆jPpg5.obl6 :2009/11/28(土) 13:40:52
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

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

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


関連スレ

C#, C♯, C#相談室 Part55
http://pc12.2ch.net/test/read.cgi/tech/1255530225/

WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part4
http://pc12.2ch.net/test/read.cgi/tech/1245384489/

2 :ななしぃ♯:2009/11/28(土) 13:42:22
参考サイト

http://www.google.co.jp/
http://msdn.microsoft.com/ja-jp/library/default.aspx
http://homepage3.nifty.com/midori_no_bike/CS/
http://www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html
http://dobon.net/vb/dotnet/
http://jeanne.wankuma.com/tips/
http://www.labasp.net/CsharpNote/

3 :デフォルトの名無しさん:2009/11/28(土) 17:44:34
C++用に作った関数をC#用にコピーしたら

ABCD_EFGH()っていう関数が
ABCD.ABCD_EFGH()ってなっちゃって
ABCDが二回続いちゃったよ

4 :デフォルトの名無しさん:2009/11/28(土) 17:55:45
ジャグ配列って存在価値ないだろ
C++やJAVAと同じ書き方なのに違うものができるとかうぜぇけせや

5 :デフォルトの名無しさん:2009/11/28(土) 17:59:10
>>4
馬鹿な子。
少しはその馬鹿な自分を疑うことを覚えたら?

6 :デフォルトの名無しさん:2009/11/28(土) 18:29:54
そうかそうか。5にとってはC++にはギャグ配列がないからバカな子だったんだな

7 :デフォルトの名無しさん:2009/11/28(土) 18:32:36
難しくて俺には何いってるのかわからねえ・・・
ギャグ配列ってなに?

8 :デフォルトの名無しさん:2009/11/28(土) 18:55:29
すげぇ!!!!
[DllImport]とか書いたらC++用のDLLが読み込めた

あれ?こんなことできるならC++って存在価値なくね?

9 :デフォルトの名無しさん:2009/11/28(土) 19:00:37
>>8
普通のアプリではなくても困らないけど
フックプロシージャとかネイティブのDLLでないと
動作しないものもあるからそういうときには必要かな

10 :デフォルトの名無しさん:2009/11/28(土) 19:19:34
>>8
それはVB6どころかVBAですらできるでしょw

11 :デフォルトの名無しさん:2009/11/28(土) 19:24:58
特定のクラスを継承しているクラスを実行中に列挙するにはどうやるんでしょうか?

12 :デフォルトの名無しさん:2009/11/28(土) 19:41:58
プラグイン作ってんのか
特定のアセンブリ内のなら、Assembly取得してきてGetTypesでTypeを列挙
Type.IsSubclassOfとかで判断する

13 :デフォルトの名無しさん:2009/11/28(土) 19:42:48
もし「特定のクラスを継承しているクラスを実行中に列挙する」メッソッドが存在する
アセンブリから参照できないアセンブリに、その「特定のクラスを継承しているクラス」
が存在した場合はどうするんでしょう。

要するに愚問だと思う。

14 :デフォルトの名無しさん:2009/11/28(土) 20:08:28
Visual Stdioでpng形式の画像ファイルをリソースに埋め込もうと思ったんだ

メニューのプロジェクト→Testのプロパティ→リソース→リソースの追加で
Gazou.pngっていうファイルを選択して埋め込んだ。

そうしたら_Gazouっていう名前で、最初に意味のわからない_がついてしまったんだ。
でもソリューションエクスプローラのほうはResources-Gazou.pngってちゃんと表示されてる。
で、Gazouを表示しようと思って
Load("Gazou.png")ってやってもLoad("_Gazou.png)ってやっても読み込めない。
別のbmpファイルならちゃんと読み込めたんだけど、pngファイルって読み込みどうやるの?

15 :デフォルトの名無しさん:2009/11/28(土) 20:14:58
埋め込みリソースでLoad…?
Resources.*** で直接Bitmapインスタンス取得するもんじゃないか?

16 :デフォルトの名無しさん:2009/11/28(土) 20:53:55
>>13
なにいってんだ??

17 :デフォルトの名無しさん:2009/11/28(土) 20:58:36
>>14
Visual Studio上のC#は、およそほぼすべての外部とのやり取り(リソースの読み込みとかフォームのデザインとか)で
自動的にソースコードを吐き出す形で動くようになってる。
プロジェクト内をよく調べてみろ。

18 :デフォルトの名無しさん:2009/11/28(土) 21:26:58
>>12
なるほど そういうのがあるのか
thx

19 :デフォルトの名無しさん:2009/11/28(土) 21:38:08
それくらい20秒あればつくれるだろ・・・っていうメソッドもnetフレームワークには最初から大量に用意されまくってるんだな。
親切設計だぜ。

20 :デフォルトの名無しさん:2009/11/28(土) 22:07:34
最近スレの消費が加速した気がする
とりあえずおちゅ

21 :デフォルトの名無しさん:2009/11/28(土) 22:40:28
自分で作ったexeを配布する際、他人の作ったDLLを同じフォルダにおいてちゃダメみたいだが
exe自体にうめこめば大丈夫?

22 :デフォルトの名無しさん:2009/11/28(土) 22:41:31
何言ってんだお前

23 :デフォルトの名無しさん:2009/11/28(土) 22:42:30
たいがい余計ダメ

24 :デフォルトの名無しさん:2009/11/28(土) 22:54:08
おいちゃだめならおかなけりゃいいだけじゃん

25 :デフォルトの名無しさん:2009/11/28(土) 23:08:50
>>21
使わせてもらうライセンスを守っていれば、ライセンスで許されている範囲で
どう使ったって問題ないさ。

特にC#なら、MS-PLのライブラリが山ほどあるからよく探してみよう。

26 :デフォルトの名無しさん:2009/11/28(土) 23:18:19
.NETのオープンソースプロジェクトってMS-PLみたいな自由なライセンスがよく使われてて
あまりGPLに汚染されてないのがいいよな

27 :デフォルトの名無しさん:2009/11/29(日) 02:10:28
http://dobon.net/vb/dotnet/graphics/hadeinimage.html
このページに書いてる「画像を半透明表示する
ってので、ボタンを押したら実行するようにコピペして
private void button1Click(object sender,EventArgs e)
にコピペしたんだ。

でも一回目にボタンを押したらちゃんと実行されるんだけど二回目は

Argment Exception パラメータが有効ではありません
っていわれてできない。

g.DrawImage(img, new Rectangle(0, 0, img.Width, img.Height),
0, 0, img.Width, img.Height, GraphicsUnit.Pixel, ia);

この部分がおかしいみたいなんだが、なんでだぜ?

28 :デフォルトの名無しさん:2009/11/29(日) 02:16:10
ブレークポイント張って引数を確認してみろよ

ていうかまたCreateGraphicsか いい加減**

29 :デフォルトの名無しさん:2009/11/29(日) 02:17:05
dispose

30 :デフォルトの名無しさん:2009/11/29(日) 02:20:53
>>28
尻がむずむずしてきた

31 :デフォルトの名無しさん:2009/11/29(日) 03:03:16
>>28
CreateGraphicsがどうかしたのか?

32 :デフォルトの名無しさん:2009/11/29(日) 04:32:12
プロジェクト→○○のプロパティでリソースファイルに追加→既存のファイルを追加するとき
必ずIDEの奥深いとこのフォルダから読み込もうとするんだけど
C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE
こんな場所じゃなくするにはどうやればいい?

前よみとった場所にしてほしい

33 :デフォルトの名無しさん:2009/11/29(日) 09:07:45
>>32
Visual Studio 2005 Part 25
http://pc12.2ch.net/test/read.cgi/tech/1225268851/
Visual Studio 2008 Part 19
http://pc12.2ch.net/test/read.cgi/tech/1259076828/
Visual Studio 2010 Part 2
http://pc12.2ch.net/test/read.cgi/tech/1258631113/


34 :デフォルトの名無しさん:2009/11/29(日) 09:39:08
オブジェクトを1000個単位で沢山生成するのはよろしくないやり方でしょうか?
こういう場合は構造体の方が良いとかあるんでしょうか?

2chのスレの書き込み一個一個をオブジェクトにして管理しようと思っています。


35 :デフォルトの名無しさん:2009/11/29(日) 09:41:01
1000個ぐらい大したことないよ
少し大きめのXMLファイル読めば万単位で生成される

36 :デフォルトの名無しさん:2009/11/29(日) 09:52:02
10億とんで1200万くらい生成してるけどなんともない

37 :デフォルトの名無しさん:2009/11/29(日) 09:56:14
VC++2008EE使ってるんですがオプションのVC++ディレクトリで必要なライブラリやインクルードファイルの場所指定してるのに必ずリンカでエラー起こします
何が原因でしょうか?

しょうがないのでプロジェクトのプロパティから追加もしてみましたがリンカでエラーでした

38 :デフォルトの名無しさん:2009/11/29(日) 09:56:58
>>37
スレタイをよく読みましょう!

39 :デフォルトの名無しさん:2009/11/29(日) 10:02:14
さすがC#だ、なんともないぜ

40 :デフォルトの名無しさん:2009/11/29(日) 10:06:56
すいません間違えました

41 :デフォルトの名無しさん:2009/11/29(日) 11:08:22
>>34
寿命が長そうだし頻繁にアクセスするわけでもないだろうから
パフォーマンス的にはクラスでも構造体でも変わらないと思う。
構造体を使う積極的な理由が無い場合は迷わずクラスを選ぶのが正解。

42 :デフォルトの名無しさん:2009/11/29(日) 11:58:25
EventArgsってなんなんだよ!いみふ!

43 :デフォルトの名無しさん:2009/11/29(日) 12:29:09
何もないことに意味があるのさ

44 :デフォルトの名無しさん:2009/11/29(日) 13:07:05
それ昔センターかな?問題で読んだことがあるw
たぶんこんな感じだった

壷というのは壷そのものに意味があるのではない。壷の作り出す空白の部分に意味があるのだ。
そこに花を生けたり、何かをためたりすることができる。"壷のもっている価値"はここにある。
物質的なものを提供するのではなく、物質から生み出される概念に価値があるのだ。
無論、壷自体にきれいな装飾をすればまた別の価値が生まれる。これは絵画自体が持っている価値と類似する。
しかし、「パンがもっている価値」とはこれは明らかに異なる。

問1.「"パンがもっている価値"とはこれは明らかに異なる。」とあるが、どのような点に違いがあるのか?
最も適当なものを次から選べ。


こんな感じw

45 :デフォルトの名無しさん:2009/11/29(日) 13:11:07
>>44
パンは食えるけど壷は食えない

46 :デフォルトの名無しさん:2009/11/29(日) 13:22:21
サンドイッチのパンは壺と同じだな

47 :デフォルトの名無しさん:2009/11/29(日) 13:37:12
突然哲学スレになるなよw

48 :デフォルトの名無しさん:2009/11/29(日) 14:26:22
>>43
お前らの人生そのものだな

49 :デフォルトの名無しさん:2009/11/29(日) 14:43:59
名前の付いているコレクションを作りたいとき、

class NamedCollection : Collection<string>
{
public string Title;
}

てのと

class NamedCollection
{
public string Title;
public List<string> List;
}

だとどっちが良いんでしょうか

50 :デフォルトの名無しさん:2009/11/29(日) 14:48:44
どっちが良いかは、あなたの目的次第じゃないでしょうか。

51 :デフォルトの名無しさん:2009/11/29(日) 14:51:45
取り敢えず、後者は他のオブジェクトから見た場合
「名前の付いてるコレクション」じゃなくて
「名前とコレクションを持ってるオブジェクト」だな

52 :デフォルトの名無しさん:2009/11/29(日) 14:52:32
オブジェクトって何ですか?^q^

53 :デフォルトの名無しさん:2009/11/29(日) 14:53:49
Collection<> だの ReadOnlyCollection<> はガンガン継承してガンガン使っていいのに
内部にリストもっちゃう人って結構多いよね。

54 :デフォルトの名無しさん:2009/11/29(日) 15:05:49
だってオライリー書いてる人なんかがお勧めしてる方法ですもの
天才集団が言うならそれに従った方がいい

55 :デフォルトの名無しさん:2009/11/29(日) 15:15:23
>>49
ただデータとして持っていればいいだけなのに、振る舞いまでコレクションの真似をする必要は通常ない。
ただし、そうしたら『NamedCollection』というクラスの名前が不適切になる、ということはありうるだろうけどね。

C#のプログラミングで汎用コレクションを継承して何か作るなんて必要性はほとんど感じたことがないな。
逆にそうせざるを得ないのがSystem.Windows.Formsの世界。
継承してクラス作って振る舞いを定義してあげないとカスタマイズなんてできないわけだし。

56 :デフォルトの名無しさん:2009/11/29(日) 15:42:55
List<T>をList<T>型のままでパブリックプロパティで公開するのは
パブリックフィールドを公開するのと実質的に同じだよ

57 :デフォルトの名無しさん:2009/11/29(日) 15:50:06
>>56
プロパティはそれに対するアクセスをいつでもトラップできるところがフィールドと異なる。
また公開してしまう懸念にこだわるなら、
インターフェイスを継承して各メソッドを定義してあげればいいじゃないか。

ただ、振る舞い自体をカスタマイズしたい場合(例えば削除するときにDispose()したいとか)でない限り、
無用に継承にこだわるのはお勧めしかねるけどな。手間が増えるだけだし。

58 :デフォルトの名無しさん:2009/11/29(日) 15:53:58
リードオンリーなリストを作りたいときは
どうしたって ReadOnlyCollection<> を使わざるをえないんだけどな。


59 :デフォルトの名無しさん:2009/11/29(日) 15:56:52
外部に公開するプロパティや戻り値、パラメータとしてList<T>を使うことは推奨されてないってよ。
http://csharper.blog57.fc2.com/blog-entry-224.html



60 :デフォルトの名無しさん:2009/11/29(日) 16:01:29
>>57
リストの中身に対するアクセスを考えれば、
パブリックフィールドが良くないとされる理由がそのままList<T>にもあてはまる。
だから>>59になる

61 :デフォルトの名無しさん:2009/11/29(日) 16:01:58
>>59
そこは本質的じゃない。
メンバとしてList<string> list; を定義して、
プロパティとしてpublic ICollection<string> List;を定義してあげればいい :)

62 :デフォルトの名無しさん:2009/11/29(日) 16:03:07
>>59
それ、的外れもいいとこ

63 :デフォルトの名無しさん:2009/11/29(日) 16:06:59
いや実際FxCopで警告出るからな
とりあえずIList<T>でも通して公開するようにしておけば、
後で実装を変えたときにもしList<T>にダウンキャストして使うアホがいたとしても
そいつの責任になる


64 :デフォルトの名無しさん:2009/11/29(日) 16:07:37
>>59
もろにIT下請けって感じのプロフィール

65 :デフォルトの名無しさん:2009/11/29(日) 16:09:21
C#でドラクエやFF風のロールプレイングゲーム作るにはどうしたいいかな
やろうと思っても
たとえばキャラクターをインターフェースにして
主人公キャラクターは一人しかいないからStaticにしてキャラクターを継承
モンスターもスライムとかは大量にいるだろうから普通のクラスで
ラスボスは一人しかいないからインスタンスを生成できないようにStaticにすりゃいいのか?
よくわからん。
RPGやってるWEBページない?

66 :デフォルトの名無しさん:2009/11/29(日) 16:12:08
>>65
そんなこといってるレベルでは必ず描画で躓くだろうな。
とりあえず純C#の範囲で作るなら、WPFの勉強してみれば?
それ以上はスレ違い。

67 :デフォルトの名無しさん:2009/11/29(日) 16:12:40
お前の場合RPGがどうこうとかそういう問題じゃないな

68 :デフォルトの名無しさん:2009/11/29(日) 16:13:56
Dictionaryジェネリックすごすぎワロタ
こんな便利なものがあったとは ハッシュ配列?

69 :デフォルトの名無しさん:2009/11/29(日) 16:14:19
>>64
涙拭けよブサイクw

70 :デフォルトの名無しさん:2009/11/29(日) 16:15:26
>>68
俺もお前くらい純粋だった頃に戻りたい

71 :デフォルトの名無しさん:2009/11/29(日) 16:15:37
じゃあこっち。
List<T>を公開すんなっていうMS直々のお達し。
http://msdn.microsoft.com/ja-jp/library/ms182142.aspx

72 :デフォルトの名無しさん:2009/11/29(日) 16:16:11
プログラムに直接そういう細かいゲームのデータを書くことは普通しない。
マップやイベントのデータを別のファイルから読み込んでプログラムでゲームとして再生するわけ。
極端に言えばデータベースアプリと一緒だ。

73 :デフォルトの名無しさん:2009/11/29(日) 16:27:36
>>71
だからそれが的外れつってんの
よく読め
つかさっきのブログのリンクをはっただけじゃねぇかw

74 :デフォルトの名無しさん:2009/11/29(日) 16:29:04
ゲーム作りでクラスとかインタフェースにこだわって悩むより、
スパゲッティのぐちゃぐちゃでもいいからゴリゴリ作った方がいいと思うけどねぇ

75 :デフォルトの名無しさん:2009/11/29(日) 16:29:10
一々めんどくせーな

76 :デフォルトの名無しさん:2009/11/29(日) 16:30:39
>>74
あるある
趣味でやるなら一度完成させてから愛でるように設計直す方が
あきらかに楽しいし持続するよな



77 :デフォルトの名無しさん:2009/11/29(日) 16:34:26
RPGはどうやってもデータ駆動以外ありえないよ
エンジン作ってあとはデータ作成だけ
エンジン自体のプログラムは動きさえすればどうでもいい

78 :デフォルトの名無しさん:2009/11/29(日) 16:39:58
エンジンつくってバイクで走る!

79 :デフォルトの名無しさん:2009/11/29(日) 16:40:25
理想を言えば諸々の計算式すら外に出せるといいんだけど
RPGツクールを作るわけじゃないんだろうから適当にハードコーディングも織り交ぜていいとは思う。


80 :デフォルトの名無しさん:2009/11/29(日) 17:05:53
物理の計算みたいな単純な計算でもオブジェクトしこうは役に立つんだろうか

81 :デフォルトの名無しさん:2009/11/29(日) 17:09:14
役に立ちません
いまだにFortranのスパゲッティコードがゴロゴロしています

82 :デフォルトの名無しさん:2009/11/29(日) 17:09:20
完成したものを「ビルド」→「発行」するとsetup形式で作成されますが
これを単体のexe形式のみで発行するにはどうすればよいでしょうか?

83 :デフォルトの名無しさん:2009/11/29(日) 17:11:10
物理計算でも、抽象度上げてオブジェクト化したいもの結構あるけどなぁ。


84 :デフォルトの名無しさん:2009/11/29(日) 17:12:39
>>82
発行しないでbin/releaseの.exeをコピーする
外部コンポーネントとか使ってるとやっかいだけどな

85 :デフォルトの名無しさん:2009/11/29(日) 17:12:49
>>81
スパゲッティだって認めてるんじゃないかw


86 :デフォルトの名無しさん:2009/11/29(日) 17:13:51
たとえばさ
Mathクラスにsin関数ってあるじゃん。
あれって、内部でテーラー展開なのかなんなのかどういう計算してるのかしらないけどとりあえずちゃんと計算してくれるよな。
これもカプセル化の一種なのか?

87 :デフォルトの名無しさん:2009/11/29(日) 17:16:15
>>86
まあそういう解釈の仕方もあるんじゃね?


88 :デフォルトの名無しさん:2009/11/29(日) 17:17:19
>>84
ありがとうございます、見つけられました。
ここからコピーするだけで良いのですね。
発行しないとデバッグコード等付属されるのかと思ってました。

89 :デフォルトの名無しさん:2009/11/29(日) 17:17:42
学者様のコードなんかオブジェクト指向以前の問題
構造化すらできてないのが腐るほどある

90 :デフォルトの名無しさん:2009/11/29(日) 17:18:00
>>80
役に立つかもしれなし立たないかもしれない
規模によるんじゃない?

まあもっとも
物理屋がクラス設計に頭悩ませる必要はまったく無いと思う。

91 :デフォルトの名無しさん:2009/11/29(日) 17:20:37
コード書くことでおまんま食ってるわけじゃないしなぁ。
綺麗な設計に頭悩ませるより計算式の組み立てとか結果を取る方に時間割いてるんだろ。

ちゅーわけで学者先生はSEに仕事くれ。


92 :デフォルトの名無しさん:2009/11/29(日) 17:32:56
学生の方が熱意があるし安いからなぁ。

93 :デフォルトの名無しさん:2009/11/29(日) 17:35:15
学生もコード書いてる暇あったらペーパー書け(´・ω・`)


94 :デフォルトの名無しさん:2009/11/29(日) 18:52:53
新しいスレッド必要な場合って結構あるけど
新しいプロセスが必要な場合って例えばどんなとき?
結構ある?

95 :デフォルトの名無しさん:2009/11/29(日) 19:16:02
ランチャー作ったときしかプロセス作成なんてしたことない。

96 :デフォルトの名無しさん:2009/11/29(日) 19:21:29
COMがらみで面倒なときにプロセス分けることはある

97 :デフォルトの名無しさん:2009/11/29(日) 19:47:12
タイマーコンポーネント使って1/60秒ごとにRefresh()をしたら画面がちかちかしてしまうNE

98 :デフォルトの名無しさん:2009/11/29(日) 20:06:24
new したときにすでに存在するインスタンスを返すことって出来るのでしょうか?
例えば、引数に文字列を一つとるコンストラクタを持つクラスHogeがあったとします。

Hoge foo = new Hoge("123");
Hoge bar = new Hoge("234");
Hoge baz = new Hoge("123"); // これは foo と同じインスタンスにしたい


99 :デフォルトの名無しさん:2009/11/29(日) 20:10:14
>>97
まあ、1/60なもんやるときは XNA とかのゲームフレームワークの方がいいかも。
あと、WinForms の場合、背景の再描画やめるとかいう手があった気がする。
DrawBackground かなんかがあって、それを override して何もしなくする。

100 :デフォルトの名無しさん:2009/11/29(日) 20:11:44
newじゃ無理だな
Dictionary<TKey, TValue>とかで実装

101 :デフォルトの名無しさん:2009/11/29(日) 20:18:14
前から思うんだけど秒60フレーム信仰ってなんか妙だねw

ゲームヲタ系固有の信仰かと思ってたけど、ここ数年は例の矢沢wのCMみたいに
TVの売り文句まで降りてきてる。

コマが多いと動画が滑らかに見えるって、実際はそうでもないのに。
だいいち映画なんてたった24フレームなんだけど。

NTSCにしても、なんで当時の技術でわざわざ苦労してインターレースなんてものを
実現したのか(その発想は凄いとは思うが)今となっては理解しがたいものがある。

102 :デフォルトの名無しさん:2009/11/29(日) 20:26:29
>>98
XLINQのXNameがまさにそういうことやってるんだけどStringからのimplicit演算子をオーバーロードしてる

103 :デフォルトの名無しさん:2009/11/29(日) 20:29:15
>>101
実際 XNA の初期設定は 30fps だったりする。

104 :デフォルトの名無しさん:2009/11/29(日) 20:56:04
まさにオブジェクト指向って感じのプログラムってどんなのだろう。
C言語とかだと結構難しいのにC#だと簡潔にかけるような状況ってあるの?

105 :デフォルトの名無しさん:2009/11/29(日) 20:59:39
.NETそのもの

106 :デフォルトの名無しさん:2009/11/29(日) 21:03:10
Cでもオブジェクト指向は出来るぜ念のため。




107 :デフォルトの名無しさん:2009/11/29(日) 21:17:13
>>104
GUI プログラミングなんかもろにそうだけども、
CUI でやれるのだと、ファイル階層たどってくとかは?


108 :デフォルトの名無しさん:2009/11/29(日) 21:27:19
>>101
くだらん些細なことまでこだわるなんて、プログラマみたいだね。

109 :デフォルトの名無しさん:2009/11/29(日) 21:31:38
映画の24コマは映写機だから大丈夫なんだよ。
画面全体が瞬時に写って瞬時に消えるからね。
NTSC出た当時のCRT方式で30コマなんて見れたもんじゃないよちらついて。
走査線が上から下に流れるからね。

最近のTVの高速駆動は液晶だから特に重要なんだよ。
液晶だとそのままじゃ画面が写りっぱなしで消えないからね。
静止した画像が長く写ると人間の目には止まって見えてしまう。
そのせいでコマの移り変わりが滑らかに見えなくなるんだよ。


110 :デフォルトの名無しさん:2009/11/29(日) 21:33:36
CRTだと滑らかに動いて見えていたものが、
液晶に映すとががががって感じに滑らかに動いて見えない経験あるだろ。


111 :デフォルトの名無しさん:2009/11/29(日) 21:43:05
60fps固定ってのはTVの都合考えてのことだからPCでゲーム作る分には気にする必要は無い

112 :デフォルトの名無しさん:2009/11/29(日) 21:47:52
モニタのリフレッシュレートにあわせないと(もしくは1/n倍)ちらつくんじゃない?

113 :デフォルトの名無しさん:2009/11/29(日) 21:53:26
信仰とか言ってる奴なんなの?
何も知らないのに偉そうにレスしちゃってw

114 :デフォルトの名無しさん:2009/11/29(日) 22:01:00
モニタによってリフレッシュレートが違うからリフレッシュレートに合わせてfpsを調整すればいい

115 :デフォルトの名無しさん:2009/11/29(日) 22:26:06
CRTなら違うけど液晶なら60固定だね

116 :デフォルトの名無しさん:2009/11/29(日) 23:21:21
突然の質問申し訳ないです
DataGridViewの外観を変える設定はどうやればいいでしょうか?
DataSetをバインドさせて表示させるところまではできています。

やりたいことは

・DataGridViewの一番左の列にExcelのような番号を付与したい
 また、現在のレコード数を表の左上に (選択中のレコード番号)/(レコード総数) のように分数形式で表記したい

・また、コンボボックスとボタンを用意して、コンボボックスで選択したものを利用して
 ボタンをクリックすることでフィルターされたものをDataGridViewに表示させたい

・ForEach()を利用してDataGridViewの各設定をしたい


参考になるサイトでもいいのでご助言お願いします



117 :デフォルトの名無しさん:2009/11/29(日) 23:34:17
> ・DataGridViewの一番左の列にExcelのような番号を付与したい
>  また、現在のレコード数を表の左上に (選択中のレコード番号)/(レコード総数) のように分数形式で表記したい
CellPaintingで描画する

> ・また、コンボボックスとボタンを用意して、コンボボックスで選択したものを利用して
>  ボタンをクリックすることでフィルターされたものをDataGridViewに表示させたい
DataTable.DefaultViewのRowFilterで

> ・ForEach()を利用してDataGridViewの各設定をしたい
各設定って何?
ForEachはなんのクラスのメソッド?

118 :デフォルトの名無しさん:2009/11/29(日) 23:34:36
アプリケーションの設定(Properties.Settings) ってダイアログで
いろいろ型選べるけど、自分で作った class って保存できないの?

119 :デフォルトの名無しさん:2009/11/29(日) 23:49:49
C#は明らかに個人で使うものじゃないな
複数の人数で開発するのを前提にした機能が多い。
自分だけで作って、自分だけで使うならまったく気にしなくていいようなことを
MSDNではあたかも知らないとプログラミングすらできないように書いてるし。

C++のほうが個人むけだなぁ

120 :デフォルトの名無しさん:2009/11/29(日) 23:50:46
C++のほうが個人向け・・・???

121 :デフォルトの名無しさん:2009/11/29(日) 23:56:41
>>117
ありがとうございます

> ・ForEach()を利用してDataGridViewの各設定をしたい
>各設定って何?

DataGridViewの全体、行、列をForEach()内で設定するようにしなければならないのですが、

Public void 設定(){

foreach (DataGridViewの全体)
{
         表全体の設定

}
foreach (DataGridViewの列)
{
         表の列の設定

}
foreach (DataGridViewの行)
{
         表の行の設定
}
}

>ForEachはなんのクラスのメソッド?
すいません、勉強不足で何のクラスを使ったらいいのかさっぱりです
課題で使うことになってるからとしか・・・


122 :デフォルトの名無しさん:2009/11/30(月) 00:03:39
>>119
最後の一行だけは絶対同意しかねるwww
といいかかったけども、C++ は個人とかチームとか関係なくアレだった。

123 :デフォルトの名無しさん:2009/11/30(月) 00:09:51
>>118
参照しているアセンブリに存在している型なら可能
逆に言うとアプリケーション自身のアセンブリに書かれている型は不可能

124 :118:2009/11/30(月) 01:33:31
>>123
レスありがとう。確認しました。

アプリケーションの設定を保存するためだけに、
ひとつアセンブリを作るというのも大げさなような気がする
けど、その方法で保存してみることにします。

125 :デフォルトの名無しさん:2009/11/30(月) 01:38:47
1から50まで足して合計求めるプログラムできたwwwwwwww

for i=1 to 50
A[i]=i;

Integer Sum = 0
for i=1 to 50
Sum += A[i]

126 :デフォルトの名無しさん:2009/11/30(月) 01:42:14
>>121
>  foreach (DataGridViewの全体)
>  {
>          表全体の設定
>  }
イミフ
全体の何を列挙するのさ?

> >ForEachはなんのクラスのメソッド?
> すいません、勉強不足で何のクラスを使ったらいいのかさっぱりです
> 課題で使うことになってるからとしか・・・
課題出した人に聞くしかないな

127 :デフォルトの名無しさん:2009/11/30(月) 01:53:43
宿題スレに行けってことでFA

128 :デフォルトの名無しさん:2009/11/30(月) 04:01:10
C#だとC用のDLLとか使うときは
いちいちDLLImportだのExternだの書かないとダメなのか・・・
めんどくさいな。

129 :デフォルトの名無しさん:2009/11/30(月) 07:03:42
Bitmap等の指定した画像ファイルからではなく
アプリケーション等の特定座標の色を取得する方法を教えてください

130 :デフォルトの名無しさん:2009/11/30(月) 08:00:10
http://proglab.aki.gs/tips/screencap.html

対象ウィンドウのデバイスコンテキスト取ってきてコピー

131 :デフォルトの名無しさん:2009/11/30(月) 08:32:11
>>128
どうせそういう外部APIは1つのstatic classで
1つのソースファイルにまとめてしまうので全く問題ない。

132 :デフォルトの名無しさん:2009/11/30(月) 08:50:09
>>130
なるほど、一度スクリーンショットでBMPを作成してしまえばいいのですね。

http://support.microsoft.com/kb/892462/ja
ちょうどよさげな解説ページも見つけたので合わせて奮闘してみます。
ありがとうございました。

133 :デフォルトの名無しさん:2009/11/30(月) 08:50:52
ふらっと

134 :デフォルトの名無しさん:2009/11/30(月) 08:52:48
スレタイの「ふらっと」ってやっぱ#に掛けて♭なわけ?

135 :デフォルトの名無しさん:2009/11/30(月) 10:25:08
DllImport宣言はCのヘッダを正規表現置換しまくればわりと楽に作れる

136 :デフォルトの名無しさん:2009/11/30(月) 10:30:08
>>135
APIの宣言部はどうせ手で移植するから置換はあまり使わないな。
ポインタを削ったり、structの名称を変更したりすることもあるし。

どちらかというと、#define定義された定数値をconst intやenumに置き換える作業だな。
数が多いし、単純な変換だからなんとかしたい……。

137 :デフォルトの名無しさん:2009/11/30(月) 10:32:38
面倒くせーからpinvoke.netからコピペしてそのままだな

138 :デフォルトの名無しさん:2009/11/30(月) 10:39:22
配列は派生できないでしょうか?
委譲しちゃうとインデクサで速度が落ちるんで
何か方法がないかと検討してるんですが・・

139 :デフォルトの名無しさん:2009/11/30(月) 10:41:54
無理。
インデクサ呼び出しのオーバーヘッドまで気にするような状況なら
そもそもオブジェクト指向とか考えるのが間違い。配列剥き出しでCみたいに書け。

140 :デフォルトの名無しさん:2009/11/30(月) 10:43:36
>>101
でも映画館では2倍にして48で上映してるよ。
昔の映画の映像見ればわかるが、さすがに24はちらつく

141 :デフォルトの名無しさん:2009/11/30(月) 10:59:17
>>139
もしくは、高速化したい部分を隠蔽しちゃうとかね。


142 :デフォルトの名無しさん:2009/11/30(月) 11:03:36
(16+17+17)*20 = 1000
すごい発見したwwww
16.6666…とかやらなくてもwwwこれなら60fps余裕杉ワロタwwwwww
今特許申請してくるwwwwww

143 :デフォルトの名無しさん:2009/11/30(月) 11:04:20
>>141
どういうことですか?

144 :デフォルトの名無しさん:2009/11/30(月) 11:06:07
ん?
つまり3フレームに1回は16msにすれば1秒間中のフレームとしては60フレームになるってことか?

145 :デフォルトの名無しさん:2009/11/30(月) 11:12:17
>>142
どうせFPSの計算はfloatやdoubleを使うんで関係ない。

146 :デフォルトの名無しさん:2009/11/30(月) 11:12:43
>>143
内部に持ってる配列をinternalメンバで公開してしまうとか

147 :デフォルトの名無しさん:2009/11/30(月) 11:28:05
>>146
やっぱそれしかないですよね・・
実行時間のかなりの部分と、書くコードのほとんどに頻繁に
配列を弄繰り回すんで
できればxxx[]って書き方でしかも高速で・・と妄想してるんですが

配列に委譲してインデクサ経由するより
List<T>のインデクサ?の方が早んですよねw

もっとインデクサのパフォーマンス上げてくれ>MS

148 :デフォルトの名無しさん:2009/11/30(月) 11:42:08
>>147
というか、そんなローレベルなコード書くなら、
そこだけC++/CLIで書いてDLLにしたら?
フロントエンドは従来どおりC#で書けばいい。

149 :デフォルトの名無しさん:2009/11/30(月) 11:55:44
>配列を弄繰り回すんで

どんな処理なのかわからんが、できそうならキャッシュしちゃうのはだめなの?

150 :デフォルトの名無しさん:2009/11/30(月) 12:00:03
コンストラクタのオーバーロードを行なう時、
引数の値をそれなりに編集してから別のコンストラクタを呼出したいのですが
: this() だけだと出来ることが制限されすぎでうまくいきません。
どのように解決したらいいんでしょう?

例)
引数に文字列を取るコンストラクタと、複数のパラメータを取るコンストラクタ

class Hoge {
public Hoge(string name) {
Name = name;
LastModified = DateTime.Now;
// etc etc....
}

public Hoge(string pattern, int no, Huga foo) {
Hage baz = new Hage(pattern, no);
Hage.doSomething();

if (foo.Bar > 200)
this(Hage.Result); /// ダメ!
else
this(""); /// アウト!
}

151 :デフォルトの名無しさん:2009/11/30(月) 12:02:09
private methodに分離しろよそんなの

152 :デフォルトの名無しさん:2009/11/30(月) 12:03:14
Construct(string)とか別に定義してそっちに移す
Hoge(string)の方はそのメソッドに丸投げ

153 :デフォルトの名無しさん:2009/11/30(月) 12:12:27
>>148,149
速度か書きやすさかどっちか犠牲にすればすむんですけど
なんとかならないのか調べてみるだけでも調べてみようと思いまして

C++/CLIのほうがやっぱり早いんですか?
早速落として実験してみます

154 :デフォルトの名無しさん:2009/11/30(月) 12:12:58
>>150
オレはコンストラクタを複数用意するときは、
staticなファクトリメソッド(Builderパターン)を用意して内部的にそれを呼び出すようにしてるよ。
そのファクトリメソッドを公開するかどうかは好みの問題。

155 :デフォルトの名無しさん:2009/11/30(月) 12:17:33
>>153
C++/CLIでもマネージコードならC#とほとんど変わらない
ネイティブコードにすれば少しくらいは速くなる可能性はあるが
その境界を越えるコストが馬鹿にならないから大きな単位でガバッとまとめてネイティブコードにする必要がある
まず実装コストに見合った効果は得られないと思う。

156 :デフォルトの名無しさん:2009/11/30(月) 12:18:45
>>152,154
成程。
コンストラクタは呼出制限があるけどstaticメソッドは制限ないですもんね。
ありがとうございました。


157 :デフォルトの名無しさん:2009/11/30(月) 12:23:38
書きやすさとか言ってるのにC++なんか本末転倒だろw

158 :デフォルトの名無しさん:2009/11/30(月) 12:45:26
ラムダ式のことと申しますか、string.OrderBy(TSource, TKey)についてご説明いただけますでしょうか。
string[] names = { "DDD", "AAA", "CCC", "BBB" };
var query2 = names.OrderBy(n => n);
これは正常にコンパイルでき、文字列がソートされますが、引数は一つしかないですよね?
C#はデフォルト引数がないと思いましたが、なぜ省略できるのでしょうか?
引数がn=>nの部分もTSourceに相当するように思えず、要はちんぷんかんぷんです。
救いをいただけたら、幸いです。

159 :デフォルトの名無しさん:2009/11/30(月) 12:50:57
ラムダ式は関係ないな
拡張メソッド で調べれ

160 :デフォルトの名無しさん:2009/11/30(月) 12:51:07
拡張メソッドだから

161 :デフォルトの名無しさん:2009/11/30(月) 12:51:20
うひーリロードしてなかった

162 :デフォルトの名無しさん:2009/11/30(月) 12:56:33
クラスに並べるフィールドの順番の標準はあるのでしょうか?
private は後にするとか public は前にするとかバッキングフィールドは並べるとかいっそアルファベット順とか・・・

163 :デフォルトの名無しさん:2009/11/30(月) 12:57:06
FxCop使ってみたら

164 :デフォルトの名無しさん:2009/11/30(月) 13:09:12
拡張メソッドの説明読んでもメリットと使い道がわかない・・・orz

165 :デフォルトの名無しさん:2009/11/30(月) 13:13:42
既存のクラスに触らずにインスタンスメソッドを追加したように見せかけることができる
だけ

基本的にはLINQを追加する為に追加された仕様だと思っておいていいよ
そんなに使わないから

166 :デフォルトの名無しさん:2009/11/30(月) 13:24:03
>>165
サンクス
そっか、みんながバンバン拡張メソッド使い倒してるわけではないならいっか

167 :デフォルトの名無しさん:2009/11/30(月) 13:26:29
Rotate列挙体を「右に90度回す」「左に90度回す」拡張メソッドを作ったことはある

168 :デフォルトの名無しさん:2009/11/30(月) 13:28:24
C#はやりすぎると危険な仕様も結構あるような気はするわ。

169 :デフォルトの名無しさん:2009/11/30(月) 13:30:53
つか拡張メソッドのthis objってNullも来るのか
あぶねーあぶねー

170 :デフォルトの名無しさん:2009/11/30(月) 13:37:34
>>169
ToStringするときのnullチェックがめんどくさくて
static string GetString(this object obj) { return obj == null ? "" : obj.ToString(); }

さあ、暗黒面においでよ

171 :デフォルトの名無しさん:2009/11/30(月) 13:38:14
行かないよ><

172 :デフォルトの名無しさん:2009/11/30(月) 13:42:31
>>170
これなんで推奨されないの?

173 :デフォルトの名無しさん:2009/11/30(月) 13:48:16
素直に
Convert.ToString(object)
使えって事だろ。

174 :デフォルトの名無しさん:2009/11/30(月) 13:48:25
>>164
インターフェイスに実装を持ったメソッドを用意できるというのが大きい
以前はabstractな基底クラスとか、staticメソッドとか使うしかなかった

>>169
例えば hoge.Foo().Bar().Baz() とか書いたときに、
拡張メソッドだとどのメソッドでNull参照になったか分かるという微妙な利点はあるな

175 :デフォルトの名無しさん:2009/11/30(月) 13:53:25
ああそうか、インターフェイスにも付けられるのか

176 :デフォルトの名無しさん:2009/11/30(月) 14:02:23
質問です
変数の宣言と共に代入しても大丈夫ですか?
ex) int a = 0
こんなことやってもいいのでしょうか?

177 :デフォルトの名無しさん:2009/11/30(月) 14:02:48
バッチコイ

178 :デフォルトの名無しさん:2009/11/30(月) 14:03:41
全然問題無いです。

179 :デフォルトの名無しさん:2009/11/30(月) 14:07:22
>>177
>>178
ありがとうございます
一緒に質問したほうがよかったのですが、プログラムの途中で宣言するのもありですか?

180 :デフォルトの名無しさん:2009/11/30(月) 14:10:13
>>179
ありです

181 :デフォルトの名無しさん:2009/11/30(月) 14:16:32
>>180
ありがとうございます
これでプログラムが組めそうです。ありがとうございました

182 :デフォルトの名無しさん:2009/11/30(月) 14:33:06
これで組めるって質問の内容からしておそらくはじめたばかりだろうにww
いったいどんなプログラムなのだろうか?ww

183 :デフォルトの名無しさん:2009/11/30(月) 15:12:26
勉強してるやつにそんなこというなよ
一回ごとにプログラム書き直す電卓つくってるかもしれないだろ

184 :デフォルトの名無しさん:2009/11/30(月) 15:20:45
珍しくいい雰囲気だな

185 :デフォルトの名無しさん:2009/11/30(月) 16:53:41
途中で変数宣言ができないC言語は使いづらい

186 :デフォルトの名無しさん:2009/11/30(月) 17:04:43
おっと、delphiの悪口はそこまでだ

187 :デフォルトの名無しさん:2009/11/30(月) 17:13:27
>>183
まさか ゆとりスレッドの・・・?

188 :デフォルトの名無しさん:2009/11/30(月) 17:56:43
コントロールをデザイナに貼り付けないで、コードでインスタンスを作成した場合、コントロールにイベントを追加するにはどうかけばいいんでしょうか?

189 :デフォルトの名無しさん:2009/11/30(月) 18:00:16
>>188
例えばClickのイベントハンドラを書きたいのなら、クラス名.Click +=  とタイプすれば、後はインテリセンスが何とかしてくれる

190 :デフォルトの名無しさん:2009/11/30(月) 18:01:04
>>188
コントロール貼り付けてイベント追加して
何とか.Designer.csを見てみるとわかる

191 :デフォルトの名無しさん:2009/11/30(月) 18:02:00
それだとイベントについて理解が進まんぜ
プログラミングガイドやらでイベントハンドラの仕組みとか読んだ方よくない?

192 :デフォルトの名無しさん:2009/11/30(月) 18:04:37
>>191
それ読むならこんな質問はしないよ

193 :デフォルトの名無しさん:2009/11/30(月) 18:06:40
それもそうですね

194 :デフォルトの名無しさん:2009/11/30(月) 18:08:26
>>185
スコープ入れば使えたんだけどな。

/* Cでも合法 */
if(.....) {
int value = 1;
...
}

とか

a = 100;
{ /* いきなりスコープ作る */
int value = a + 100;
...
}

とか。
やると変態あつかいだったけど。

195 :デフォルトの名無しさん:2009/11/30(月) 18:09:42
MSDNのクソ説明より
C#で検索したら出てくるサイトのほうがよっぽど有用だわ

猫でもわかる〜とか未確認飛行CとかいうサイトのほうがMSDNよりよっぽどわかりやすい

196 :デフォルトの名無しさん:2009/11/30(月) 18:22:01
GetElementsByNameで見つからなかった場合はどうすればいいんですか?
if(GetElementsByName("login"[0] != null)
でエラーになるんです。

197 :デフォルトの名無しさん:2009/11/30(月) 18:30:50
何だかわからんが、配列を返すなら、Countでみたら?

198 :デフォルトの名無しさん:2009/11/30(月) 18:32:22
>>195
そうであるからこそ本も売れるわけでね。
MSDNのイミフなのを解読出来て他人に説明出来れば立派に金稼げるよ。

199 :デフォルトの名無しさん:2009/11/30(月) 18:36:59
WinXP SP3, VC# 2005 で開発しています。

■悩んでいる点
pictureBox の背景を透過にした状態で
pictureBox を移動させたときに、チラついてしまう

■試してみたこと
チラつきにはDoubleBufferingが有効のようなので、
Formに対してDoubleBufferをtrueにしてみる

結果、チラつきは直りませんでした。
この原因と解決策をご教授願えないでしょうか。
下記アップローダにUPしましたので、見ていただきたいです。

ttp://www1.uploda.tv/index.php?mode=pass&idd=0052182
受信パスは hoge です。

よろしくお願いします。

200 :199:2009/11/30(月) 18:39:18
連稿、申し訳ありません。

timerをセットし、timerのIntervalごとに
pictureBox.Location.Left += 4;
のようにして移動させています。

よろしくお願いします。

201 :デフォルトの名無しさん:2009/11/30(月) 18:42:25
Formのじゃダメよ

202 :デフォルトの名無しさん:2009/11/30(月) 18:45:06
ボタンをクリックした時のイベントを追加したのですが、このイベントを他のイベントから実行したいとき
button.click( object sender, EventArgs e )の引数2つはどうすればいいんですか?

203 :デフォルトの名無しさん:2009/11/30(月) 18:53:51
別にどうするもなくね

もちろん、通常のボタンクリックとは違って「なんのボタンがおされたか」
みたいな詳細な(?)情報は取得しづらいが


private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("ボタン1がおされました");
}

private void button2_MouseClick(object sender, MouseEventArgs e)
{
button1_Click(new object(),new EventArgs());
}

みたいにnew object(), new EnentArgs()
を引数にすればいいんでね

204 :デフォルトの名無しさん:2009/11/30(月) 19:01:51
ありがとうやってみます


205 :デフォルトの名無しさん:2009/11/30(月) 19:10:12
どんな処理するのか知らんが、処理の内容を別メソッドにして、それぞれから
呼び出すんじゃダメなのか?

206 :デフォルトの名無しさん:2009/11/30(月) 19:35:14
>>199
透過させたPictureBoxを移動させた際に起きるチラつきを無くすのは確か無理。

前に悩んだ結果、自分でバッファ作って描画しないとダメだという結論に至った気がする。

207 :デフォルトの名無しさん:2009/11/30(月) 19:58:30
WPFだとちらつきなくなるんだろうかねぇ

208 :デフォルトの名無しさん:2009/11/30(月) 20:00:49
せめてPerformClickだろ。
おかしなイベントハンドラの呼び出しは止めとけ。


209 :デフォルトの名無しさん:2009/11/30(月) 20:03:45
>>206
この程度の処理ならちらつき抑えられるわ
そのとき居合わせた面子がアホ揃いだったんだろw

210 :デフォルトの名無しさん:2009/11/30(月) 20:13:28
>>209
どうやったらいいの?
煽りでもなんでもなく教えて欲しい

211 :199:2009/11/30(月) 20:26:17
>>201
レスありがとうございます。
Formのじゃダメ、というのは、
・FormのDoubleBufferを使うのではない
・Form標準のpictureBoxを使うのではない
のいずれかでしょうか?

>>206-210
Formでは可能なのでしょうか?
可能であればご教授お願いします。

212 :デフォルトの名無しさん:2009/11/30(月) 20:45:57
158ですが、みなさんありがとうございました。(遅レスすません)
特に165さんの回答は救われます。
しかしながら、未だに理解できない自分が情けない。

最近買ったMSの本もさっぱりわからんし・・・いつまで経っても核心に迫らなくて我慢できなくなり、何もわかった気がしないで激しく落ち込みます。
他の本読んだり>>195さんのような意見見るとほっとしますよ。

213 :デフォルトの名無しさん:2009/11/30(月) 20:56:01
>>211
ほい。できたぞ。
private int xx = 0;

private void timer_MoveInterval_Tick(object sender, EventArgs e)
{
xx+=3;
this.Invalidate();
}
private void Form1_Paint(object sender, PaintEventArgs e)
{
// 右に移動
this.pictureBox1.Left = xx;
}


214 :デフォルトの名無しさん:2009/11/30(月) 21:02:56
とりあえずMSDNの珍訳が理解できる人はそこそこ.NETが使えるレベルだと思う
俺がそうだった

215 :デフォルトの名無しさん:2009/11/30(月) 21:13:10
タイマーにinvalidateやリフレッシュ、Paintイベントで描写すると
画面ちらついたんだが213ではちらつかないな。
単純に移動するだけならいいんだろうか

216 :デフォルトの名無しさん:2009/11/30(月) 21:23:33
>>213
すげー

217 :199:2009/11/30(月) 21:35:34
>>213
ありがとうございます!
>>215さんのレスが気になりますが、
ひとまずこちらで対応します。

ありがとうございました。

218 :デフォルトの名無しさん:2009/11/30(月) 21:35:44
いちいち煽らずに言えば少しはリスペクトされるのに。
正直幼稚なガキが自分より何か知ってても賞賛も感謝も感じない。

219 :デフォルトの名無しさん:2009/11/30(月) 21:37:28
>>218
匿名でリスペクトもなにもないだろw
泣いて悔しがってろww

220 :デフォルトの名無しさん:2009/11/30(月) 21:41:32
幼稚なガキが自分より物知りだったら
(単なる漫画やゲームの知識でなく、ある程度体系的な学問であれば)
くやしいだろ、普通w

天才小学生が俺より早くプログラム組んでて、「おじさんなんでこんなんできんの?頭悪すぎwww」とか言われたら自殺したくなるわ。

221 :デフォルトの名無しさん:2009/11/30(月) 21:43:35
.Net2.0でSystem.Xml.Linqを使う方法ありませんか?
ちなみにLINQBridgeだと駄目だした…
Monoプロジェクトはどれをコンパイルすればいいのかわけわかめです

222 :213:2009/11/30(月) 21:44:27
>>218
流れ的に俺のことっすかね?
俺は今日>>213が初書き込みなんで煽ったりしてないっすよ。
ちょっと心外なので念のためレス。

223 :デフォルトの名無しさん:2009/11/30(月) 21:54:13
たぶん方法がわかんなかった奴の中に>>209=>>213 だと思ってる奴がいるんだろ。
プログラマはいつだって下からの突き上げコンプレックスにまいってるからしかたないんだよ。



224 :デフォルトの名無しさん:2009/11/30(月) 21:54:51
>>221
素直に.NET 3.5を使え。

225 :デフォルトの名無しさん:2009/11/30(月) 21:55:38
.net3.5の普及率がちょっときになるのよねぇ…

226 :デフォルトの名無しさん:2009/11/30(月) 21:55:44
大変初歩的なことで申し訳ないのですが、
ソース中で使用されていない名前空間をインポートすることは
有意なオーバーヘッドになりえるのでしょうか。

227 :デフォルトの名無しさん:2009/11/30(月) 21:56:15
>>220
最近そういうのが笑いごとじゃなくなってきてるからなあ
こんなんとか
http://jibun.atmarkit.co.jp/ljibun01/rensai/genius/05/01.html
こんなんとか
http://jibun.atmarkit.co.jp/ljibun01/rensai/genius/03/01.html


228 :デフォルトの名無しさん:2009/11/30(月) 21:56:45
>>226
全く全然一切関係ない

229 :デフォルトの名無しさん:2009/11/30(月) 21:57:29
>>222
そうかごめん。

230 :デフォルトの名無しさん:2009/11/30(月) 21:57:38
>>225
もうwin7でたんだから素直に.net3.5使っていいよ



231 :デフォルトの名無しさん:2009/11/30(月) 22:01:03
>>227
そのシリーズの第2回も読んでてコンプレックス感じた
技術者がキモオタでも許された時代はもう・・・

232 :デフォルトの名無しさん:2009/11/30(月) 22:02:41
Collection<T> と List<T>ってどう違うの?

233 :デフォルトの名無しさん:2009/11/30(月) 22:03:10
>>227
それってそんなに凄いか?
学生レベルならそりゃ少しはやるねとは思うけどプロからしたらふーんって感じ

234 :デフォルトの名無しさん:2009/11/30(月) 22:07:22
つまりRuby開発者のまつもとはプロじゃないわけか。そうかそうか。

235 :デフォルトの名無しさん:2009/11/30(月) 22:07:55
>>233
多分そういう反応する人でると思ったよw
中学生高校生時点でそういうレベルなのが凄いんだよ。


236 :デフォルトの名無しさん:2009/11/30(月) 22:09:10
まぁ重箱の隅をつついて「ほら早くなった」ってだけだからな



237 :デフォルトの名無しさん:2009/11/30(月) 22:09:38
>>233
>学生レベルならそりゃ少しはやるねとは思うけど
こういうこと言っちゃうあたりがコンプレックスの裏返しなんだろなと思う
自分もそうだからよくわかる

238 :デフォルトの名無しさん:2009/11/30(月) 22:11:58
C#って他言語パクリマクリ言語じゃね。

239 :デフォルトの名無しさん:2009/11/30(月) 22:13:17
>>238
機械語使ってろ

240 :デフォルトの名無しさん:2009/11/30(月) 22:13:50
ぶっちゃけプロは天才とは違うベクトルの才能が必要だから負けたっていいんだよ。

天才中学生(笑)とか登場しても変に「まだまだだな・・・」とか言ってないで
素直にスゲースゲー言ってればいいのに。

241 :デフォルトの名無しさん:2009/11/30(月) 22:15:13
>>238
この業界は清く正しく効率良くパクれる人じゃないと大成しません。
マジで。


242 :デフォルトの名無しさん:2009/11/30(月) 22:15:16
>>232
Collection<T>は型指定されたコレクションを作成するための汎用的な基底クラス
List<T>はパフォーマンス重視の代わりに拡張性その他を捨てたコレクション

243 :デフォルトの名無しさん:2009/11/30(月) 22:16:05
数ヶ月間、高速化の為に極一部のソース書き換えるだけの作業してたら首になると思う

244 :デフォルトの名無しさん:2009/11/30(月) 22:17:17
>>242
ありがとう
Listの方が速いとかメモリ食わないとかそんな感じか
じゃあ特に考えがないならListでいいのかな

245 :デフォルトの名無しさん:2009/11/30(月) 22:17:32
そういう仕事ならアリだろ。

246 :デフォルトの名無しさん:2009/11/30(月) 22:18:02
どうせ>>227みたいなのはすぐメッキ剥れるにきまってる。
顔みりゃわかる。才能ないよ。
大学までいったらただの人wwwww


247 :デフォルトの名無しさん:2009/11/30(月) 22:19:02
>>243
そりゃ与えられた仕事が別の内容だったら首になるだろね。

248 :デフォルトの名無しさん:2009/11/30(月) 22:19:17
>>246
大人気ないやつだなぁ

249 :デフォルトの名無しさん:2009/11/30(月) 22:19:34
>>243
仕事さぼって仕事とは無関係のソース書き換えてたらクビになるだろうが
ちゃんと仕事しながらやってたらクビにならん。

250 :デフォルトの名無しさん:2009/11/30(月) 22:20:10
>>227は才能無いプログラマーには刺激が強すぎたか


251 :デフォルトの名無しさん:2009/11/30(月) 22:21:30
Rubyの高速化って持ちあげすぎじゃね?
高速化なんてちまちまよく頑張ったねって話だろ

252 :デフォルトの名無しさん:2009/11/30(月) 22:23:05
これはこれで褒めておけばいいんじゃないの
お前らだって何か探せばすごいとこはあるんだろ


253 :デフォルトの名無しさん:2009/11/30(月) 22:23:20
>>251
もういいよ、涙拭けよ

254 :デフォルトの名無しさん:2009/11/30(月) 22:24:32
http://blog.livedoor.jp/dqnplus/archives/1344510.html

男性の心の中にはステータスアップの目的意識があるため、「よいところを褒める=自分の能力のなさを露呈する」ことになってしまいがち。
ゆえに「批評」をしようとして、否定や批判ばかりになってしまうことってないでしょうか。

ふむ・・・・

255 :デフォルトの名無しさん:2009/11/30(月) 22:25:50
>高速化なんてちまちまよく頑張ったねって話だろ

なんかこっちまで顔が赤くなりそう・・・


256 :デフォルトの名無しさん:2009/11/30(月) 22:27:54
なんでよ
ループの外に出すとか基本中の基本じゃん

257 :デフォルトの名無しさん:2009/11/30(月) 22:28:57
要するに言語開発者とあろうものが糞コード書くなって事



258 :デフォルトの名無しさん:2009/11/30(月) 22:29:29
新人はいってくるとたまに高速化というなの難読化する奴がいるから困る
設計を台無しにするなよ…

俺はそう考えている。

259 :デフォルトの名無しさん:2009/11/30(月) 22:31:42
てすと

260 :デフォルトの名無しさん:2009/11/30(月) 22:33:06
「クリスマスケーキ 一人用」でググったら悲しくなった件について

261 :デフォルトの名無しさん:2009/11/30(月) 22:33:59
おめーらさりげなくまつもと様ディスってんじゃねーよwww

262 :デフォルトの名無しさん:2009/11/30(月) 22:35:32
テトリスを1時間で作って見たのもちょっと持ち上げすぎだと思うの
一度作った事あるものなら誰でも出来るとおもうもの…

263 :デフォルトの名無しさん:2009/11/30(月) 22:37:17
まつもとは人間としてダメだろ。

264 :デフォルトの名無しさん:2009/11/30(月) 22:46:42
>>230
なのかなぁ
ここみて少し怖じ気づいた…
ttp://www.atmarkit.co.jp/fdotnet/chushin/opinion_dotnetversion/opinion_dotnetversion.html

Windows2000をきっていいものかどうか迷う…

265 :デフォルトの名無しさん:2009/11/30(月) 22:47:41
こうやって否定をくりかえして生きて行くうち、彼のまわりには誰もいなくなってしまいました。
おしまい。

266 :デフォルトの名無しさん:2009/11/30(月) 23:06:53
イソップ物語?
いやいや、むしろ彼は彼のまわりには誰もいないからカリカリしてるのかもw

267 :デフォルトの名無しさん:2009/11/30(月) 23:09:59
>>264
受託開発ならお客さんの言うとおりに作ることになるが、
コンシューマー向けならWindows2000はもう切ってしまうな。
たかだか2%くらいだからね。
http://akiba-pc.watch.impress.co.jp/hotline/20090606/enquete200905_0.html

268 :デフォルトの名無しさん:2009/11/30(月) 23:14:52
というか 2000 は来年の 7 月に延長サポートすら終わる

269 :デフォルトの名無しさん:2009/11/30(月) 23:37:25
ところがどっこい、延長サポートすら終わったVB6やOffice 2000を使っているユーザが
ゴロゴロいるから困る

270 :デフォルトの名無しさん:2009/11/30(月) 23:39:46
大変だな。MS ですらサポートしないものを、俺がサポートできる訳ねーだろ、
で終わりにしたよ。

271 :デフォルトの名無しさん:2009/11/30(月) 23:41:21
車でもPCでもこんなコロコロ買い換えるの大好きな国民性の国が
「日本のもったいない文化を世界に」とかウリナラマンセーしてるんだから
日本人って本当ご都合主義だよな、とネトウヨ君を煽ってみる。

まあそうは言っても、企業ユーザーは案外年代物のPC使ってたりするんだけど。

272 :デフォルトの名無しさん:2009/11/30(月) 23:43:39
使ってたりするよね。普通に。
新しいPCすすめるにしても他のそこで動いてるアプリの動作保証までは出来んからなあ

まあそれを仕事にしちゃうって手もあるんでしょうけど!

273 :デフォルトの名無しさん:2009/12/01(火) 01:13:44
べつにN88BASICに比べたら大したことじゃない

274 :デフォルトの名無しさん:2009/12/01(火) 01:30:47
ファイルがドロップされた時って
何のAPから(エクスプローラとか)ドロップされたのか?ってわかる?

ドロップを受け入れて、他のAPにもドロップできるListViewを作りたいんだけど
自分自身にドロップしたときは受け入れたくないんだ。

DragEventArgsからわかればベストなんだが…。

275 :226:2009/12/01(火) 01:42:11
>>228
ありがとうございます。

276 :デフォルトの名無しさん:2009/12/01(火) 01:49:14
>>274
自分かどうかの判断なら簡単だよ
DoDragDropに渡すのをDataObjectにして、
そのDataObjectになんか変なオブジェクトを追加すればいい ListViewItemとかね
でDragEnterとかで追加したオブジェクトがIDataObjectに含まれていればアウトにする

277 :274:2009/12/01(火) 02:15:33
>>276
なるほど。
やってみるよ、ありがとう。

278 :デフォルトの名無しさん:2009/12/01(火) 03:46:46
>>276
つうかsenderが自分じゃないかEqualで判断するだけじゃないの?

279 :デフォルトの名無しさん:2009/12/01(火) 03:50:33
おっとEqualsか

280 :デフォルトの名無しさん:2009/12/01(火) 10:01:24
おはよう(;´∀`)

なんか最近レスの進み具合が激しい気がする・・・・

281 :デフォルトの名無しさん:2009/12/01(火) 10:04:17
object sender,EventArgs e

282 :デフォルトの名無しさん:2009/12/01(火) 10:07:19
>>278
senderはイベントを起こしたオブジェクトだから、
treeView1_DragEnterなら必ずtreeView1だな、どこからドラッグされようが

283 :デフォルトの名無しさん:2009/12/01(火) 10:55:02
MyClassのインスタンスに以下のxmlをマップしたいのですがLINQtoXMLで一発で書けますか?

//XML
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<items>
  <item>
    <name>name1</name>
    <data>
      <mydata>data1.1</mydata>
      <mydata>data1.2</mydata>
      <mydata>data1.3</mydata>
    </data>
  </item>
  <item>
    <name>name2</name>
  </item>
  <item>
    <name>name3</name>
    <data>
      <mydata>data3.1</mydata>
    </data>
  </item>
</items>

284 :デフォルトの名無しさん:2009/12/01(火) 10:56:33
//MyClass
public class MyData {
  private string data;
  public MyData(string data){
    this.data = data;
  }
}

public class MyItems {
  public string Name;
  public List<MyData>;
}

public class MyClass {
  public MyItems Items;
}

285 :デフォルトの名無しさん:2009/12/01(火) 11:02:32
>>284は間違えました
マップするクラスはこうです

//MyClass
public class MyData {
  private string data;
  public MyData(string data){
    this.data = data;
  }
}

public class MyItem {
  public string Name;
  public List<MyData> Data;
}

public class MyClass {
  public List<MyItem> Items;
}


286 :デフォルトの名無しさん:2009/12/01(火) 11:07:55
こんな感じでやってみたのですが可変な<data>の部分をどう書けばいいのかわかりません…
XDocument doc = XDocument.Load(xmlSource);
MyClass cls = new MyClass();

var q = from v in doc.Descendants(ns + "Items")
          select new MyItem{ //出来ればここでnew List<MyItem>();としたい
            Name = v.(string)v.Element(ns + "Name")
            Items = new List<MyData>{  } //ここがわからない
          };

cls.Items = List<MyItem>();
cls.Items.AddRange(q);

287 :デフォルトの名無しさん:2009/12/01(火) 11:21:36
マッピングなんてださいよ


288 :デフォルトの名無しさん:2009/12/01(火) 11:32:23
>>286
ToList

289 :デフォルトの名無しさん:2009/12/01(火) 11:33:41
>>288
もう一声…
初期化子の所でLINQ使える?

290 :デフォルトの名無しさん:2009/12/01(火) 11:40:04
初期化子は関係無いか

var q = from v in doc.Descendants(ns + "items")
          select new MyItem{
            Name = (string)v.Element("name"),
            Data = from a in doc.Elements("data") select new MyData(a) as List<MyData>
          };

うーん、これも駄目だ…

291 :デフォルトの名無しさん:2009/12/01(火) 11:50:14
オブジェクトの参照をそれぞれ入れた配列を完全にcloneするにはどうしたらいいんでしょうか?
そのオブジェクトのクラスをIClonable継承したのですがインスタンスレベルではcloneされてないようです。

292 :デフォルトの名無しさん:2009/12/01(火) 11:54:28
>>290

var cls = new MyClass {
Items = doc.Descendants("item").Select(
xItem => new MyItems {
Name = (string)xItem.Element("name"),
Items = xItem.Element("data").Elements("mydata").Select(
xMyData => new MyData((string)xMyData)
).ToList()
}
).ToList()
};

293 :デフォルトの名無しさん:2009/12/01(火) 12:00:28
>>291
ArrayのCloneかMemberwiseClone使ったんならArrayそのもののClone返すのは当たり前でしょう
実装したのは"Arrayに入ってるオブジェクト"のICloneableであって
ArrayのICloneable実装したわけじゃないんですから

294 :デフォルトの名無しさん:2009/12/01(火) 12:24:37
>>292
サンクス
オブジェクトの参照が〜という例外がでましたのでこれを
xItem.Element("data").Elements("mydata").

このように書き前ました
Data = (xItem.Element("data") == null) ? null : xItem.Element("data").Elements("mydata")

うーん、なんか長い…
var d = xItem.Element("data");
Data = (d == null) ? null : d.Elements("mydata")
せめてこんな感じで短く出来ればいいのに…

295 :デフォルトの名無しさん:2009/12/01(火) 13:14:12
>>292
これってselect fromで書けないの?

296 :デフォルトの名無しさん:2009/12/01(火) 13:28:30
XmlSerializer<こんにちはこんにちは!!

297 :デフォルトの名無しさん:2009/12/01(火) 13:30:50
>>295
かいてみたけどDataが常にnullになる件

var cls = new MyClass {
  Items = (
    from item in doc.Descendants("item")
    let d = item.Element("data")
    select new MyItem {
      Name = (string)item.Element("name"),
      Data = (d == null)? null : (
        from data in d.Elements("mydata")
        select new MyData((string)data.Element("mydata"))
      ).ToList<MyData>()
    }).ToList<MyItem>()
};

298 :デフォルトの名無しさん:2009/12/01(火) 13:39:30
×select new MyData((string)data.Element("mydata"))
○select new MyData((string)data)
こうしたらOKだったわw

299 :デフォルトの名無しさん:2009/12/01(火) 19:06:58
List<string,int>みたいな事はできないのか?

300 :デフォルトの名無しさん:2009/12/01(火) 19:09:12
どーいう意味?

301 :デフォルトの名無しさん:2009/12/01(火) 19:10:04
List<Tuple<string, int>>?
標準でTupleが提供されるのは.NET4.0以降だけど

302 :デフォルトの名無しさん:2009/12/01(火) 19:20:42
KeyValuePairでいいじゃん

303 :デフォルトの名無しさん:2009/12/01(火) 19:22:31
もしかすると string と int の混在を許す List か?

304 :デフォルトの名無しさん:2009/12/01(火) 19:24:04
>>301
そう、それ。KeyValuePairは知ってるが3つ以上になるとあれだから避けてた

305 :デフォルトの名無しさん:2009/12/01(火) 19:26:33
4.0をまたずしても自分で捏ち上げてもよさそうではあるな

306 :デフォルトの名無しさん:2009/12/01(火) 19:54:33
三つ以上となると正直クラス作っちゃえよと思う

307 :デフォルトの名無しさん:2009/12/01(火) 20:22:18
ToolStripStatusLabel の AutoSize を true にしていいると、
ラベルがステータスバーに入り切らなくなると表示されなくなってしまいます。

ふつうの Label のように AutoEllipsis があればいいんですが、
ToolStripStatusLabel にはありません。

ステータスバーの幅を小さくしたとき、AutoEllipsis プロパティがあるかのように
省略して表示する方法ないでしょうか?


308 :デフォルトの名無しさん:2009/12/01(火) 21:56:22
DLRにはこんなものがある
MutableTuple<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20,
T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40,
T41, T42, T43, T44, T45, T46, T47, T48, T49, T50, T51, T52, T53, T54, T55, T56, T57, T58, T59, T60,
T61, T62, T63, T64, T65, T66, T67, T68, T69, T70, T71, T72, T73, T74, T75, T76, T77, T78, T79, T80,
T81, T82, T83, T84, T85, T86, T87, T88, T89, T90, T91, T92, T93, T94, T95, T96, T97, T98, T99, T100,
T101, T102, T103, T104, T105, T106, T107, T108, T109, T110, T111, T112, T113, T114, T115, T116, T117, T118, T119, T120,
T121, T122, T123, T124, T125, T126, T127>

309 :デフォルトの名無しさん:2009/12/01(火) 21:58:31
リアルにコーヒー吹きそうになったわwwww


310 :デフォルトの名無しさん:2009/12/01(火) 22:33:01
>>308
確かにあったwww

return typeof(MutableTuple<, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , >);

なんぞこれw

311 :デフォルトの名無しさん:2009/12/01(火) 22:39:37
人間が使うものじゃないからなあ
DLRに言語実装するときに必要になるかもしれないから用意してあるだけ

312 :デフォルトの名無しさん:2009/12/01(火) 23:08:17
なんかもっとスマートな解決方なかったのかねぇ

313 :デフォルトの名無しさん:2009/12/01(火) 23:27:35
可変長ジェネリックでも導入すれば解決するんだろうけど、
もうこれ以上CLRに変更加えるの嫌みたいだからな

314 :デフォルトの名無しさん:2009/12/01(火) 23:27:35
眠かったんだろ
俺も納期間近で2徹くらいすると、見栄えとか正直どうでもよくなる

315 :デフォルトの名無しさん:2009/12/02(水) 02:34:59
そうかな、俺は納期とかどうでも良くなるが

316 :デフォルトの名無しさん:2009/12/02(水) 09:22:30
>>315
おいw

317 :デフォルトの名無しさん:2009/12/02(水) 10:26:04
(初心者用)が付いていない方が初心者が多い気がするのだが

318 :デフォルトの名無しさん:2009/12/02(水) 10:34:27
伝統です

319 :デフォルトの名無しさん:2009/12/02(水) 12:06:48
文化です

320 :デフォルトの名無しさん:2009/12/02(水) 13:40:38
初心者へ教えるには高いレベルが必要ということじゃね。
俺は違うけど。

321 :デフォルトの名無しさん:2009/12/02(水) 13:47:05
Dim doc = XDocument.Load(file)
From a In doc.<a>.<b>.<c>.<d> //エレメントをたどってる

VB.NetのソースだけどこれってC#ではどうやって書くの?

322 :デフォルトの名無しさん:2009/12/02(水) 13:53:33
Refactorつかえば?

323 :デフォルトの名無しさん:2009/12/02(水) 13:58:35
C#じゃ書けない
VBのほうがその辺は優れてる

324 :デフォルトの名無しさん:2009/12/02(水) 15:00:04
GUIのプロパティとかを設定する表みたいなのがあるけど、あれを自分で作るにはどうしたら良いのでしょうか?

325 :デフォルトの名無しさん:2009/12/02(水) 15:13:16
グリッドを一から作りたいってこと? 死ぬほど大変だと思うけど。
デザイナのグリッドは PropertyGrid をベースに作られてる。

326 :デフォルトの名無しさん:2009/12/02(水) 15:13:59
PropertyGridを貼り付けるんじゃだめか?

327 :デフォルトの名無しさん:2009/12/02(水) 15:16:07
つか、独自コントロールを作りたいなら新規プロジェクトで
Windowsフォームコントロールライブラリとか選んで弄ってみそ

328 :デフォルトの名無しさん:2009/12/02(水) 15:31:33
PropertyGrid使いやすいようにしようと思うと結構大変だよな…
単純な連結作業じゃEnumとかがめんどくさいし・・・

329 :デフォルトの名無しさん:2009/12/02(水) 17:55:31
>>321
こうかな
from a in doc.Elements("a")
 from b in a.Elements("b")
  from c in b.Elements("c")
   from d in c.Elements("d")
もしくは
from d in doc.Elements("a").Elements("b").Elements("c").Elements("d")

330 :デフォルトの名無しさん:2009/12/02(水) 17:58:26
C#4.0になると dynamic のおかげで doc.a.b.c.d が出来るようになるんだっけね

331 :デフォルトの名無しさん:2009/12/02(水) 18:09:28
>>330
ならない

332 :デフォルトの名無しさん:2009/12/02(水) 18:21:17
>>321
途中のノードは1つだから、こうだな。

>From a In doc.<a>.<b>.<c>.<d> //エレメントをたどってる 
from a in doc.Element("a").Element("b").Element("c").Elements("d")

>From a In doc...<d> //エレメントをたどらない
from a in doc.Descendants("d")


333 :デフォルトの名無しさん:2009/12/02(水) 18:25:34
http://tore.vestues.no/2009/01/05/creating-a-dynamic-xml-reader-with-c-40/


334 :デフォルトの名無しさん:2009/12/02(水) 18:27:36
>>333
だからなんだ?あ?

335 :デフォルトの名無しさん:2009/12/02(水) 19:07:01
まあこわい

336 :デフォルトの名無しさん:2009/12/02(水) 19:09:49
イベントにあるエベントハンドラが追加されているかどうかを確認する
方法はありますか?


337 :デフォルトの名無しさん:2009/12/02(水) 19:31:28
イベントは自由に実装をカスタマイズできるから一般には無理
特にコントロールのイベントはほとんど特殊な実装になってる

338 :324:2009/12/02(水) 19:48:18
やっぱり、PropertyGridですね。
ググってみると色々事が出来そうで奥が深いですね。
やりたかったのは、ちょっとしたプログラムにGUIを作るのは面倒だから、PropertyGridみたいなので数値を入れて
それをアプリに渡せばすむじゃんと思ったからです。
ついでにテキストファイルか何かに、パラメータ名を定義しておいて、それを読み込ませたら、その順番とラベル名でPropertyGridが出てくるように
したかったんです。
そんなことはできないでしょうか?

339 :デフォルトの名無しさん:2009/12/02(水) 19:58:39
勉強会とかって参加しないとマズいんでしょうか?
LTとかとても出来る自信がないです・・・

先輩諸氏はああいう集りに積極的に参加して何か喋ったりされてるんでしょうか?

340 :デフォルトの名無しさん:2009/12/02(水) 20:03:05
プログラマは人脈重要だし、新しい技術の勉強も諦めたらそこで終わりだよ。
別にプログラマに限った話じゃないがw

341 :デフォルトの名無しさん:2009/12/02(水) 20:05:48
本読むだけでいいよ。
あんなリア充もどきの集りなんて飲み会開く言い訳みたいなもんだ。


342 :デフォルトの名無しさん:2009/12/02(水) 20:06:08
ぶっちゃけ本で十分な気がしないでもない

343 :デフォルトの名無しさん:2009/12/02(水) 20:09:35
そんな僻まんでもw

344 :デフォルトの名無しさん:2009/12/02(水) 20:11:23
いつからプログラマー業界にリア充どもが蔓延るようになったんだろな
マジウゼー

345 :デフォルトの名無しさん:2009/12/02(水) 20:17:05
C#で DataGridViewの一番左の列にCheckBoxを追加して、
Checkのあるレコードだけ削除ボタンで消す方法ってどうやればいいですかね?

DataGridView上で消せれば、あとはDataReader使ってUPDATEすればいいだけだとおもんですが

346 :デフォルトの名無しさん:2009/12/02(水) 20:17:58
昔だって上に行く人はわりとリア充だったと思うけどなぁ。
オタはオタでもひきこもってないオタじゃないとやってけないんじゃない?


347 :デフォルトの名無しさん:2009/12/02(水) 20:28:38
人生のコーディングをしていなかったからかorz

348 :デフォルトの名無しさん:2009/12/02(水) 20:31:17
>>339
行くべき。
トークする側にまわんなくても顔だすだけでもいいから行くべき。


349 :デフォルトの名無しさん:2009/12/02(水) 20:37:14
まったくしゃべらないでお話聞いてくるだけでもいくべき?

350 :デフォルトの名無しさん:2009/12/02(水) 20:43:54
>>349
ぜんぜんOK。
そういう常連さんも普通にいるし。
あいつ聞いてばっかで喋らねーうぜーなんて空気は微塵もない。


351 :デフォルトの名無しさん:2009/12/02(水) 21:14:56
勉強会ってどこでやってるんだろう
札幌であるのかな?

352 :デフォルトの名無しさん:2009/12/02(水) 21:49:33
>>351
そういう君に
IT勉強会カレンダー

353 :デフォルトの名無しさん:2009/12/02(水) 22:42:37
>>352
351じゃないけどThx

354 :デフォルトの名無しさん:2009/12/02(水) 23:43:18
>>338
PropertyGridはオブジェクトのプロパティを弄るもので
設定ファイルを弄る為のものじゃない。

なのでそんなことは出来ない。

プロパティを定義したクラスを用意すれば出来るけど面倒くさいことには違いないよね。

355 :デフォルトの名無しさん:2009/12/02(水) 23:46:12
大規模な開発するんじゃなく
電卓では難しいやや複雑な計算程度なら
どんな言語つかっても大して変わらないね。
C#いらね

356 :デフォルトの名無しさん:2009/12/02(水) 23:48:15
>>355
その論法だと、お前は大したプログラム作らないという結論に至るが。

357 :デフォルトの名無しさん:2009/12/02(水) 23:51:51
三流プログラマの愚痴・雑談は別のところでやってください

358 :デフォルトの名無しさん:2009/12/02(水) 23:56:27
.net3.5って無理印のXPにもインスコ出来る?

359 :デフォルトの名無しさん:2009/12/03(木) 00:02:20
>>358
XPのSP2が必要なはず

360 :デフォルトの名無しさん:2009/12/03(木) 00:04:05
>>357初心者用なんだから上級者様()笑が出て行けよ^^

361 :デフォルトの名無しさん:2009/12/03(木) 00:10:20
>>354
設定プロバイダをPropertyGridに突っ込めばいけるんじゃね

362 :デフォルトの名無しさん:2009/12/03(木) 00:59:46
DataTable使えば簡単にできるぜ。
やらないけど。


363 :デフォルトの名無しさん:2009/12/03(木) 01:01:33
ついでに設定の書き込みもDataTableだったら極めて簡単。
やらないけど。


364 :デフォルトの名無しさん:2009/12/03(木) 01:17:23
>>338
PropertyGridって自由度が高くて便利だけど、
きちんと作りこむとかなり大変な上に、資料も乏しくて辛いぞ
簡単に済ませるために使うなら絶対的に間違っているのでやめておけ
PropertyGridってカスタムコントロールのデバッグに向いてると思う

365 :デフォルトの名無しさん:2009/12/03(木) 08:36:05
C#ってC言語とは互換性ないの?
include stdio.hとかやって
printfみたいなこと無理?

366 :デフォルトの名無しさん:2009/12/03(木) 08:50:40
つ C++/CLI

367 :デフォルトの名無しさん:2009/12/03(木) 09:01:04
アイスクr−ムたべたい
アイスクリーム作るプログラムつくってうpしる

368 :デフォルトの名無しさん:2009/12/03(木) 09:42:29
クラスを作成中に、"override" と入力すると入力支援が働いて
オーバーライド可能なメソッドを一覧が表示されますが、
同様に、まだ、実装していないインターフェースのメソッドを
簡単に表示する方法(あるいはメソッドスタブを作成する方法)
はありますか?



369 :デフォルトの名無しさん:2009/12/03(木) 09:52:38
>>368
継承したインターフェース右クリックして
インターフェースの実装ってやればいいんじゃね

public class Class1 : Interface1←これ右クリック


370 :デフォルトの名無しさん:2009/12/03(木) 10:00:55
ショートカットキーは、Interface1 にカーソルを合わせて Ctrl + . (ドット)

371 :デフォルトの名無しさん:2009/12/03(木) 10:49:04
usingを追加するのによく使うなそれ

372 :デフォルトの名無しさん:2009/12/03(木) 11:25:04
関数とメソッドって同じ意味だと考えていいの?

373 :デフォルトの名無しさん:2009/12/03(木) 11:28:03
メソッドじゃない関数もあるんじゃないの?メソッドは関数だけど(´・ω・`)

374 :368:2009/12/03(木) 11:51:41
>>369
>>370

しらんかったよ。ありがとう。

375 :デフォルトの名無しさん:2009/12/03(木) 12:01:45
>>372
だいたいそんな感じでいいんじゃないかね。
厳密な言葉の定義ってなるとググった方が速いけど。

376 :デフォルトの名無しさん:2009/12/03(木) 12:04:17
DataGridViewにバインドするとpublicプロパティが全てマップされるんだけどこれを抑制する属性とかあるのかな?

377 :デフォルトの名無しさん:2009/12/03(木) 12:14:48
そもそも例外処理は多重書きしても良いのでしょうか?

try
{
try
{
//作業
}
catch
{
throw new Exception();
}
}
catch
{
return null;//例外を投げたらここに来る?
}

378 :デフォルトの名無しさん:2009/12/03(木) 12:22:08
出来るけどフロー制御のためにそういうことするのは
パフォーマンス的にもあんまりよろしくないかと。

379 :デフォルトの名無しさん:2009/12/03(木) 16:23:51
ここは初心者スレだろ
上級者さまはでていけや

380 :デフォルトの名無しさん:2009/12/03(木) 17:08:22
そしたら誰が答えるんだ・・・

381 :デフォルトの名無しさん:2009/12/03(木) 17:11:38
初心者が傷の舐めあいをするのでは?

382 :デフォルトの名無しさん:2009/12/03(木) 17:17:44
エロイな

383 :デフォルトの名無しさん:2009/12/03(木) 20:01:01
Dataset.GetXml();の反対はSetXml(string)みたいなのはないのでしょうか?
ストリームやファイルから読み込むのは見つかるのですがstringで放り込めるのがないような?

384 :デフォルトの名無しさん:2009/12/03(木) 20:05:43
ReadOnlyObservableCollection の使い方がよくわかりません。
INotifyCollectionChanged インターフェースのメンバが protected になっているため
外部からイベントの登録が出来ないのですが、
どうやって使うものなんでしょう?

385 :デフォルトの名無しさん:2009/12/03(木) 20:16:51
>>384
>このクラスは、ObservableCollection<(Of <(T>)>) の読み取り専用ラッパーです。
書いてあるじゃん。
インターフェイスの明示的実装だから、Protectedでもprivateでも
インターフェイス経由なら呼び出せる。

386 :デフォルトの名無しさん:2009/12/03(木) 20:25:37
>インターフェイスの明示的実装だから、Protectedでもprivateでも
>インターフェイス経由なら呼び出せる。
あえて protected にしているってことは
あんまり使ってほしくないってことなんでしょうか?
ObservableCollection の方は普通に public で実装していますよね。

387 :デフォルトの名無しさん:2009/12/03(木) 20:26:10
読み取り専用ラッパだからイベント追加もできないんだよ。
わざわざprotectedにしてあるのは呼んだら無条件に例外が飛ぶから

388 :デフォルトの名無しさん:2009/12/03(木) 20:35:37
ユーザーが直接使うクラスじゃないだろ。
どこかのファクトリーが中身の良く分からない
INotifyCollectionChangedを作ってくれる。
ユーザーはそれを使うだけ。

389 :デフォルトの名無しさん:2009/12/03(木) 20:43:26
C#を一から勉強したいのですが、どの本が一番お勧めでしょうか?

390 :デフォルトの名無しさん:2009/12/03(木) 20:48:07
>>383
ない

が、

string xmlSrc = dsSrc.GetXml();
System.IO.StringReader r = new System.IO.StringReader(xmlSrc);
DataSet ds = new DataSet();
ds.ReadXml(r);
でいけそうな気がする。

391 :デフォルトの名無しさん:2009/12/03(木) 20:59:23
すいません、本当に単純な .sdfファイルってどこかにありませんか?

個人テーブル
番号(主キー) 名前 性別 生年月日

クラステーブル
番号(主キー) 所属部署

みたいな簡単なDBがほしいのですが・・・




392 :デフォルトの名無しさん:2009/12/03(木) 21:03:52
>>387
INotifyCollectionChangedにキャストしてイベント追加、
コレクション自体への追加は継承したクラス内で行なったところ
イベント自体は特に例外も発生せず実行されました。

これは何かやり方が間違ってるから例外が飛ばなかったのでしょうか??



393 :デフォルトの名無しさん:2009/12/03(木) 21:18:13
>>389
他言語経験者?
完全に1からやるなら
C#の絵本ってのがオヌヌメ

394 :389:2009/12/03(木) 21:33:17
>>393
いや、UnixでX-window/Motifでガンガン組んでいた。
VCもcppはお遊び程度に使えるかな。
C#は全く初めて

395 :デフォルトの名無しさん:2009/12/03(木) 21:46:17
じゃあオライリーでいいんじゃね

396 :デフォルトの名無しさん:2009/12/03(木) 21:47:19
他言語経験者ならC#の絵本だと退屈だな。
変数の宣言の仕方。数値にはintとかdoubleとかいっぱいある。みたいな説明されてもアレだろう。
オライリーのC#クックブックとかいいんじゃないか。

397 :デフォルトの名無しさん:2009/12/03(木) 21:55:10
オラオラオラオラオライリー

398 :デフォルトの名無しさん:2009/12/03(木) 21:56:47
C系使えるなら参考書なんていらんだろ
MSDNあるしC#はVB並みにネットの情報が充実してるし

399 :デフォルトの名無しさん:2009/12/03(木) 21:59:16
それだけ知ってるなら仕様書読んで言語の全体像把握するほうが早い

400 :デフォルトの名無しさん:2009/12/03(木) 22:00:09
Java→C#にくらべると
C++→C#は少し戸惑うかもしれないよね

もっとも言語仕様なんかより.NETの使い方の習得がメインになるよなぁ

401 :デフォルトの名無しさん:2009/12/03(木) 22:03:47
ネット情報の充実度でいえば
C、C++言語が最強だな。次Java。次VBくらいかね。

402 :デフォルトの名無しさん:2009/12/03(木) 22:08:29
VB.NETはゴミばっかりだからC#の方が充実してる

403 :デフォルトの名無しさん:2009/12/03(木) 22:12:42
http://dobon.net/vb/dotnet/index.html
ここ見ればおk

404 :デフォルトの名無しさん:2009/12/03(木) 22:13:33
マジオライリーの参考書最強
C#である程度大規模なプログラミングしたいやつでこれもってないやつカス。死んだほうがいい。

405 :デフォルトの名無しさん:2009/12/03(木) 22:13:40
>>403
だな。ここ見れば大体のことは解決する。

406 :デフォルトの名無しさん:2009/12/03(木) 22:19:08
>>403
そこの良いんだが
下の「評価」ってのがキモイ

良い:まさにこれを探していました
良い:面白い機能です。こんなことができるなんてきがつきませんでした。

マジきめぇ氏ねや

407 :デフォルトの名無しさん:2009/12/03(木) 22:25:22
>>406
そんなとこまでスクロールするお前のがキモイ

408 :デフォルトの名無しさん:2009/12/03(木) 22:25:58
>>390
ありがとう
動きました

409 :デフォルトの名無しさん:2009/12/03(木) 23:00:35
>>405
別にdobon氏を貶す意図はないけど、さすがにそれは言いすぎ。
そこ見ても解決しない問題は山ほどある。というより、ぶち当たる問題の大半はそう。

410 :デフォルトの名無しさん:2009/12/03(木) 23:05:36
>>376
Browsable(false)で隠せるね
ProperttyGridとかにも出なくなるが

411 :デフォルトの名無しさん:2009/12/03(木) 23:26:11
>>410
サンクス
やってみます!

412 :デフォルトの名無しさん:2009/12/04(金) 01:35:15
tesu

413 :デフォルトの名無しさん:2009/12/04(金) 04:59:57
(==;
http://msdn.microsoft.com/ja-jp/library/7h9bszxx%28VS.80%29.aspx

414 :デフォルトの名無しさん:2009/12/04(金) 08:09:13
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1321235888
プログラミングの超初心者はある程度なれた人から見るととんでもない勘違い、ミスをするもんだ
敷居が高いんだろうなー

415 :389:2009/12/04(金) 08:36:46
とりあえず、C#の絵本をアマゾンで注文しました。

416 :デフォルトの名無しさん:2009/12/04(金) 08:53:33
ホームページ作りたいのですがのですがC言語のなかでもなんかいろいろわかれてるみたいですね。
どれがいいのでしょうか?フラッシュとかのゲームも作って取り入れたいです。

417 :デフォルトの名無しさん:2009/12/04(金) 09:43:44
とりあえず動的に出力しないなら必要ない
静的なHPは板違い
フラッシュも板違い



418 :デフォルトの名無しさん:2009/12/04(金) 09:49:52
ASP.NET で Silverlight も使って作ればいいんじゃないかな。

419 :デフォルトの名無しさん:2009/12/04(金) 10:55:31
彼女が外に出して!って言ったので部屋から放り出した

420 :デフォルトの名無しさん:2009/12/04(金) 11:04:58
自作の関数に複数の戻り値をメインに渡したいんですが1個しかできません。
調べたところc言語は1つしか戻り値渡せないみたいで…

どうしてもx座標とy座標を関数に渡して計算した値をメイン関数にもっていきたいんです。
どうやったらいいですか?

421 :デフォルトの名無しさん:2009/12/04(金) 11:06:05
とりあえずここはC#のスレなので、C言語についてはスレ違い

422 :デフォルトの名無しさん:2009/12/04(金) 11:06:11
釣りなら他所でやれ

423 :デフォルトの名無しさん:2009/12/04(金) 11:11:20
>>419
結局お前は出したのか?

424 :422:2009/12/04(金) 11:29:01
すいません、事故解決しました
なるほど、こういうときのためにポインタってあったんですねw

425 :デフォルトの名無しさん:2009/12/04(金) 11:46:36
ボインだけなら自信あります・・・

426 :デフォルトの名無しさん:2009/12/04(金) 12:21:40
おっぱいうp

427 :デフォルトの名無しさん:2009/12/04(金) 12:30:53
画像の使用色数を調べたいのですが良い方法はありますでしょうか
一ピクセルずつ調べていくとコードが長くなり、また処理時間も長くなってしまうので避けたいのですが・・


428 :デフォルトの名無しさん:2009/12/04(金) 12:34:43
画像の使用色数が一ピクセルずつ違う状況が思い浮かばないが。
色数ってdepthのこと?

429 :デフォルトの名無しさん:2009/12/04(金) 12:45:46
>>427
残念ながら1ピクセルずつ調べるしかない

>>428
データフォーマットじゃなくて、その画像に何色使われてるかってこと。
24bitで表現できる色は16777216種類だけど、1枚の画像にはその中の一部分しか使われていない。
何種類使われているかというのを「使用色数」と言う。

430 :デフォルトの名無しさん:2009/12/04(金) 12:47:07
>>427
コードは別に長くならんと思うが。
ごく単純なループだろ。

431 :デフォルトの名無しさん:2009/12/04(金) 12:59:43
ループでまわすだけだな。

432 :デフォルトの名無しさん:2009/12/04(金) 13:09:12
処理時間も言う程長くないし。

433 :デフォルトの名無しさん:2009/12/04(金) 13:26:05
だな

434 :デフォルトの名無しさん:2009/12/04(金) 13:28:48
色数カウントって昔はめちゃめちゃ面倒だったのに、
今じゃ2Mバイトの配列をポンと確保するだけだもんな。
えらい時代が来たもんだ。

435 :デフォルトの名無しさん:2009/12/04(金) 13:36:41
BitmapクラスのGetPixelでやるのが一番簡単。
BitmapData取得してMarshal.Copyでやるのに比べると100倍ぐらい時間かかるけど、まぁ許容範囲だろう。

436 :デフォルトの名無しさん:2009/12/04(金) 14:28:57
俺の上についている上司とその上の上司が揃いも揃って
booleanのfalseをファルスって言うんです。
注意したほうがいいですか?

437 :デフォルトの名無しさん:2009/12/04(金) 14:33:56
おまいは 0 をゼロって発音したりしない?

438 :デフォルトの名無しさん:2009/12/04(金) 14:45:57
>>434
ハッシュでやるだろ。
24bppだと16Mだし。

439 :デフォルトの名無しさん:2009/12/04(金) 15:25:51
画像本体が数十MBなんてこともざらにあるから、その程度のメモリは大したことないよ

440 :デフォルトの名無しさん:2009/12/04(金) 16:07:34
C#クックブックがアマゾンで良書とされているので買ったけど、
書き写したコードがコンパイルすら出来ずに無茶苦茶腹が立っていた。
ソースがWebにアップされていたんだね。

441 :デフォルトの名無しさん:2009/12/04(金) 16:10:14
クックブックは見てないが
using Systemとか当たり前すぎるものをいちいち書いてなかったんでないの。

442 :デフォルトの名無しさん:2009/12/04(金) 16:18:05
>>437 
もちろん日本語で話すときは0はゼロと言う。
語源は英語のzeroだが
日本語としてゼロという単語が存在するから
0をゼロと発音するのは日本語圏では正しい。

443 :デフォルトの名無しさん:2009/12/04(金) 16:22:01
じゃあファルスもそれでいいな

444 :デフォルトの名無しさん:2009/12/04(金) 16:28:16
笑い話がどうかしたか?

445 :デフォルトの名無しさん:2009/12/04(金) 16:34:20
何故 じゃあファルスもそれでいいな という結論になるのか分からない

446 :デフォルトの名無しさん:2009/12/04(金) 16:36:28
ファルスがダメな理由がないから。
falseをなぜか「ファウスト」といったなら誤解や意思疎通ができない可能性があるが
falseなんてファルセでもファルスでもフォルスでもフォールスでもなんでもいいわ。
くだらん。

447 :デフォルトの名無しさん:2009/12/04(金) 16:41:17
カタカナに直した時点でもう正確ではない
ファルスもフォールスも表記ゆれの範疇でおk

448 :デフォルトの名無しさん:2009/12/04(金) 16:43:43
ギョエテと呼んでいた時代もあったしな( ・ω・)y─┛〜〜

449 :デフォルトの名無しさん:2009/12/04(金) 16:44:07
カルノー図をカルナウ図ってうちのばっちゃが言ってた。

450 :デフォルトの名無しさん:2009/12/04(金) 16:45:53
俺もCharをシャアって読んでた

451 :デフォルトの名無しさん:2009/12/04(金) 16:46:51
>>441
かなりもろもろのことを端折っている。
17ページで
いきなり固有のクラス名を使ったコードが出てきて、そのクラスのコードがない、
まで来てもしやと思った。

452 :デフォルトの名無しさん:2009/12/04(金) 16:48:40
偽いいだろ偽で

453 :デフォルトの名無しさん:2009/12/04(金) 16:50:36
にせ?いつわり?ぎ?

454 :デフォルトの名無しさん:2009/12/04(金) 16:51:39
>>451
WEBのソースより本は物理的な制約が大きいし
本題とはあまり関係のない部分のソースは省略されても仕方ないだろう。
省略されてる部分は読者が勝手に補えってことじゃないの。
クックブックは完全な入門書じゃないっぽいし。

455 :デフォルトの名無しさん:2009/12/04(金) 16:57:23
小学校1年の算数の教科書で図形が登場すると
5cmの図形はリアル5cmで書かれてて、
2年のテストで10cmって表記の図形を定規で計ったら3cmくらいしかなくて
「問題の図形間違ってる」って先生に講義したことあるのを思い出した。
CookBookとかMSDNなんてそんな感じだろ。
リアルで動くソースだと期待していない。

456 :デフォルトの名無しさん:2009/12/04(金) 16:58:51
頭の悪い奴とか仕事できない奴に限って、
「ファルスwwwだせー」とか「デーじゃなくてディーだろーw」とか
「ヌルじゃなくてナルだろ」とか騒ぎ出すんだよな、ホントくだらん

457 :デフォルトの名無しさん:2009/12/04(金) 17:02:56
頭の悪い奴とか仕事できない奴に限って、
ものの名前を正しく呼ばない傾向があるな、むしろ。

458 :デフォルトの名無しさん:2009/12/04(金) 17:03:16
昔、atoi()を「"あ"と"い"」と読んで大笑いされたことを思い出した。

459 :デフォルトの名無しさん:2009/12/04(金) 17:03:44
なるぽ

460 :デフォルトの名無しさん:2009/12/04(金) 17:05:18
*を米印みたいな奴と呼んでましたがなにか?(´・ω・`)

461 :デフォルトの名無しさん:2009/12/04(金) 17:05:33
printf プリントエフ
scanf スキャンエフ
malloc マロック
void ヴォイド
引数 いんすう
int イント
enum エニュム

462 :デフォルトの名無しさん:2009/12/04(金) 17:06:29
昔DirectXを ダイレクトエックスって言ったら
後輩に「ダイレクトエックス(笑 ディレクトエックスですよ〜」
って馬鹿にされたけど、我慢したことを思い出した。

463 :デフォルトの名無しさん:2009/12/04(金) 17:12:06
>>459
グッ

464 :デフォルトの名無しさん:2009/12/04(金) 17:19:24
Dをデーと言うとなぜか勉強できない奴らが大騒ぎして、
勉強できる奴らは何も言わない小中学校の法則

勉強できる奴らはフランス・イタリア・ドイツなどではデーと発音するのを
知ってるのかもな

465 :デフォルトの名無しさん:2009/12/04(金) 17:19:25
>>456>>457は同時に成立する。
「正しく」の定義がきっちりしている場合な。

466 :デフォルトの名無しさん:2009/12/04(金) 17:22:29
というかディーはビーと聞き間違えるからな

467 :デフォルトの名無しさん:2009/12/04(金) 17:23:44
おれは消防のときは
abcdefgはアブクドゥエフグ(発音記号書けないからカタカナで勘弁)
って覚えてた。
エービーシーディーって言い方はローマ字習ってから知った。

468 :デフォルトの名無しさん:2009/12/04(金) 17:23:44
例えば1024ピクセル平方なら最悪カウントに20ビットいるわけで、
24ビットでカウントなんて事やったらあまり簡単ではなくなるので
1色につき4バイト。
だから64MBの配列がいるな。

えっ?アルファも欲しい?
なら16GBだ。


469 :デフォルトの名無しさん:2009/12/04(金) 17:29:42
phallusなんて言葉を知ってる人はそんなにいないのでok

470 :デフォルトの名無しさん:2009/12/04(金) 17:30:36
一般市民は総理大臣が「漢字間違える」とかどうでもいいくだらんことで騒ぐのが大好きだからなー。

471 :デフォルトの名無しさん:2009/12/04(金) 17:32:16
>>465
falseとnullは「正しく」の定義ははっきりしてないよね?
(日本語でのカタカナ表記において)

472 :デフォルトの名無しさん:2009/12/04(金) 17:34:28
>>470
さわいでたのはテレビだけじゃね?

473 :デフォルトの名無しさん:2009/12/04(金) 17:35:25
会議で後輩がイントラネットって言っていたから、「インターネットだろ。社外で間違えると恥ずかしいぞ」って注意してやったよ。
みんな、虚を突かれたように俺の博識さに静まりかえっていた(´,_ゝ`)

474 :デフォルトの名無しさん:2009/12/04(金) 17:37:08
>>470
スレタイも読めない馬鹿よりマシ

475 :デフォルトの名無しさん:2009/12/04(金) 17:38:25
>>473
馬鹿な後輩に容赦は無用

476 :デフォルトの名無しさん:2009/12/04(金) 17:41:41
C#って、メディアプレイヤーを開くと同時に特定のフォルダに入ってるaviファイルとかを全部メディプレイヤーにつっこむ

ってできる?

477 :デフォルトの名無しさん:2009/12/04(金) 17:42:51
1)高い政治能力を有するが漢字の読みをよく間違える政治家
2)政治能力皆無だが漢字検定1級所有してる政治家

一般市民が議員に選ぶのは悲しいかな2なんだな

だからおまえらも実務能力よりも資格取得を頑張ったほうがいいぞ
会社つぶれても資格持ってりゃ転職しやすいからね

478 :デフォルトの名無しさん:2009/12/04(金) 17:49:33
>>471
そゆこと。


479 :デフォルトの名無しさん:2009/12/04(金) 17:55:49
ここは人間の初心者スレじゃないのだが

480 :デフォルトの名無しさん:2009/12/04(金) 17:57:05
>>476
そのフォルダ内のファイルを取得して起動時の引数に渡せばいい
WMP以外でも大体は大丈夫だろ

481 :デフォルトの名無しさん:2009/12/04(金) 18:02:25
はやくC#4.0のdynamicとかに対応した書籍でねーかな

482 :デフォルトの名無しさん:2009/12/04(金) 18:11:21
自由落下の公式

483 :デフォルトの名無しさん:2009/12/04(金) 18:38:51
dynamicで追加したプロパティって
VSでインテリセンスきくようになるの?

484 :デフォルトの名無しさん:2009/12/04(金) 19:15:30
dynamic で追加したプロパティ自体は効くだろうけど
そのプロパティから先は無理だろ
何入ってるかは実行時までわからんのだし

485 :デフォルトの名無しさん:2009/12/04(金) 20:00:45
関数の呼び出し前で生成したオブジェクトの属性を
関数の呼び出し先で変更することってできますか?

private Test()
{
TextBlock a = new TextBlock();
TextBlock.Text = "変更前";
Button b = new Button();
Button.click += Change();
}

private Change()
{
ここで TextBlock.Text = "変更後" としたい
}

486 :デフォルトの名無しさん:2009/12/04(金) 20:03:11
> ここで TextBlock.Text = "変更後" としたい
すりゃいいじゃん。
言いたくないけど頭悪いにも程がないか

487 :デフォルトの名無しさん:2009/12/04(金) 20:05:45
>>486
あっ間違えた
a.Text = "変更後" です

488 :デフォルトの名無しさん:2009/12/04(金) 20:06:48
485の
> TextBlock.Text = "変更前";

a.Text = "変更前"; の間違いです

489 :デフォルトの名無しさん:2009/12/04(金) 20:12:05
引数について学んでくれ

490 :デフォルトの名無しさん:2009/12/04(金) 20:29:48
実際イベントハンドラに任意のオブジェクト送るのどうやんの?
フィールドとして持っとくほかない?

491 :デフォルトの名無しさん:2009/12/04(金) 20:33:35
イベントハンドラを持ってるクラスがイベントをハンドルするのに必要な情報を持つ
ごく自然なことじゃないか

492 :デフォルトの名無しさん:2009/12/04(金) 20:36:50
必要な情報は EventArgs と sender でことたりる。

493 :デフォルトの名無しさん:2009/12/04(金) 20:50:30
>>489
わかりました
ありがとうございます

>>490
そうなんですよね
下手に引数渡そうとすると、引数の数で怒られますし

>>491
>>492
そうなんですか
勉強不足っす

494 :デフォルトの名無しさん:2009/12/04(金) 20:56:14
そもそもWPFで画面要素をコードで動的生成とかどうなの

495 :デフォルトの名無しさん:2009/12/04(金) 20:57:30
全部XAMLで作るの無理だし

496 :デフォルトの名無しさん:2009/12/04(金) 21:01:33
KeyPressEventArgs eでタブキーが取れないみたいなのですが、どうにかできますか?

497 :デフォルトの名無しさん:2009/12/04(金) 21:05:14
KeyPressって名前にだまされてるんだよ
これは文字が入力されたときのイベント

498 :デフォルトの名無しさん:2009/12/04(金) 21:06:38
エンターが取れてもタブはだめなんですね

499 :デフォルトの名無しさん:2009/12/04(金) 23:47:19
いわゆる初心者本をやった後どうしたらいいか難民状態です

500 :デフォルトの名無しさん:2009/12/04(金) 23:49:55
作りたいモンを作れよ

501 :デフォルトの名無しさん:2009/12/04(金) 23:52:40
>>499
マジで>>500の言うとおり。
指示されたもんじゃ持続できない。
自分が少しでも楽になる物を作れ

502 :デフォルトの名無しさん:2009/12/04(金) 23:53:09
>>500
何かいいお題とかありませんかねー

503 :デフォルトの名無しさん:2009/12/04(金) 23:57:17
>>501
そういうもんなんですかね

504 :デフォルトの名無しさん:2009/12/04(金) 23:57:54
何をしたいのかによるが…
既存のものを模倣したり、改良したりとか
あとはアルゴリズムを考えてみたりとか自分のやりたいことをやればいい

505 :デフォルトの名無しさん:2009/12/05(土) 00:01:40
>>504
C#を勉強してみたいっていう動機ではじめてしまったのが
間違いだったみたいですw

しいて言えば
「○○という条件のもとで○○という処理をしたい」
みたいな案件が出されたときに、ササっと作れるようになりたい
というなんとも漠然とした考えしかないです

506 :デフォルトの名無しさん:2009/12/05(土) 00:05:08
やめてしまえ
お前は作らなくてもまったく問題が無い

507 :デフォルトの名無しさん:2009/12/05(土) 00:06:32
2chの専ブラ作ってくれ
俺は使わないけど

508 :デフォルトの名無しさん:2009/12/05(土) 00:07:23
よくある問題でもやってみたら?
各人物毎、各教科毎、点数合計・平均とかを入力出力するやつとか
設計からむから意外と出来ない人多いし

509 :デフォルトの名無しさん:2009/12/05(土) 00:19:37
>>461
voidは他にどう発音するの?

510 :デフォルトの名無しさん:2009/12/05(土) 00:20:54
くさかべ

511 :デフォルトの名無しさん:2009/12/05(土) 00:23:01
>>502
残念だがこういうこと言ってるうちはあまり進歩しない。


512 :デフォルトの名無しさん:2009/12/05(土) 00:27:23
○×ゲームでも作ってみれば

513 :デフォルトの名無しさん:2009/12/05(土) 00:35:20
>>505
お前に課題を出してくれるAIを作れ

514 :デフォルトの名無しさん:2009/12/05(土) 00:47:10
1時間でテトリスの人に挑戦するとかいいんじゃない?
まあまずテトリスが作れるかが問題だけど…

515 :デフォルトの名無しさん:2009/12/05(土) 00:56:18
DLLを作ったのですが、
他の人に参照されて使われたくありません。
その場合、

516 :デフォルトの名無しさん:2009/12/05(土) 00:57:00
投稿してしまいました、
その場合どうすればいいのでしょうか?

517 :デフォルトの名無しさん:2009/12/05(土) 00:57:26
他人に渡さなければいいのです

518 :デフォルトの名無しさん:2009/12/05(土) 01:00:39
>>514
ああ、あれw
面白うそうだったんで真似して作り始めたら、
まあ1時間とは行かなかったけど半日でできたよ。
ああいうプログラミング実況というのは意外に役立つものなのかもねぇ。

519 :デフォルトの名無しさん:2009/12/05(土) 01:02:15
>>496
PreviewKeyDownイベント使ったら?

>>505
C#,C#の宿題片付けます。
ttp://pc12.2ch.net/test/read.cgi/tech/1197620454/

520 :デフォルトの名無しさん:2009/12/05(土) 01:04:16
>>515
おまえさんが心配しなくても、そのDLL使う人はまずいない
質問スレで訊いちゃう自分の実力を過大評価しすぎ
気楽にいこうぜ〜

521 :デフォルトの名無しさん:2009/12/05(土) 01:08:30
>>515
まずその頭の悪さをどうにかする

522 :デフォルトの名無しさん:2009/12/05(土) 01:11:38
じゃなくて、知識としてDLLを使われたくない場合どうすればいいか、と聞いてるんです
参照元をチェックすれば出来ますか?

523 :デフォルトの名無しさん:2009/12/05(土) 01:12:19
C#って作ったexeのソース逆コンパイル出来るって本当?

524 :デフォルトの名無しさん:2009/12/05(土) 01:13:04
それ、DLLにする意味あるの?

525 :デフォルトの名無しさん:2009/12/05(土) 01:14:09
>>523
C# に限らず、中間言語吐くタイプの言語は逆コンパイルしやすい。
C# に至っては、フリーで結構出来のいい逆コンパイラーがあるからねぇ。

526 :デフォルトの名無しさん:2009/12/05(土) 01:14:13
>>522
本当に使いたい奴はディスアセンブルしてチェック部分を消すだけだから無駄無駄

527 :デフォルトの名無しさん:2009/12/05(土) 01:14:34
>>523


528 :デフォルトの名無しさん:2009/12/05(土) 01:14:38
.NETは全て逆コンパイル出来るよ

529 :デフォルトの名無しさん:2009/12/05(土) 01:16:04
そういえば、.NETではアセンブリ同士でGenuineチェックをかけられるが、
あれは流用防止に対して効果はあるんだろうか?

530 :デフォルトの名無しさん:2009/12/05(土) 01:18:32
特定classのインスタンスが持つプロパティと設定値を2次元配列として取得する方法を教えてください。
例えば、int型のプロパティa,b,cを持つclassのインスタンス(Test)があるとします。
そこで、Testの持つプロパティと設定値を仮に
int a = 1;
int b = 2;
int c = 3;
とした場合、
{a,1}
{b,2}
{c,3}
というobject型の配列を取得したいです。配列の行数とプロパティの数はいずれも固定で同数です。

531 :デフォルトの名無しさん:2009/12/05(土) 01:23:13
>>530
そういうプロパティを持ったクラスを定義してあげるのが絶対早い。

532 :デフォルトの名無しさん:2009/12/05(土) 01:24:55
ヒント:クラス

533 :デフォルトの名無しさん:2009/12/05(土) 01:26:39
そんな方法ないから、自分でリフレクションして配列作れ。

534 :デフォルトの名無しさん:2009/12/05(土) 01:36:50
>>530
class Class1 {
  public int a { get; set; }
  public int b { get; set; }
  public int c { get; set; }
  public Dictionary<object, int> d {
    get {
      var d = new Dictionary<object, int>();
      Type t = this.GetType();
      foreach (PropertyInfo pInfo in t.GetProperties()) {
        if (pInfo.Name == "d") continue;
        d.Add(pInfo.Name, (int)pInfo.GetValue(this, null));
      }
      return d;
    }
  }
}


535 :デフォルトの名無しさん:2009/12/05(土) 05:18:14
class Person{
int age;
string name;
}

できた!パーソンクラスできたよ!

536 :デフォルトの名無しさん:2009/12/05(土) 05:47:10
配列最強!配列があればリストだのスタックだのキューだのいらねー

537 :デフォルトの名無しさん:2009/12/05(土) 08:00:28
DLLの関数を呼ぶときにパラメータとしてパスワードも
送るようにすればいいんじゃない?


538 :デフォルトの名無しさん:2009/12/05(土) 08:48:25
get;set;

539 :デフォルトの名無しさん:2009/12/05(土) 09:23:33
使いたくならないようなDLLを作ればいいんだよ。
ネームスペースに VisualBasic とか入れてみたり
メソッド名が全部ローマ字英語だったり。

540 :デフォルトの名無しさん:2009/12/05(土) 09:31:59
>>539
SugeeeDQN_wktk.dllとかさ。よけいに興味もつかもな(´・ω・`)

541 :デフォルトの名無しさん:2009/12/05(土) 09:51:50
普通にdotfuscatorだけでも使う気は無くなるだろ

542 :デフォルトの名無しさん:2009/12/05(土) 10:00:11
>>539
>メソッド名が全部ローマ字英語だったり。
んなもん、日本の商用ソフトのdllなんかでは当たり前ですがな。

543 :デフォルトの名無しさん:2009/12/05(土) 10:21:14
clockでもtokeiでもいいけど、kurokkuはヤメいというのがうちのルールだな。

544 :デフォルトの名無しさん:2009/12/05(土) 10:22:57
ローマ字英語は気持ちわるすぎだろ
Tokeiはまだいいよね

545 :デフォルトの名無しさん:2009/12/05(土) 10:37:51
Trojan.dll

546 :デフォルトの名無しさん:2009/12/05(土) 10:45:15
akirahorimoto.dll

547 :デフォルトの名無しさん:2009/12/05(土) 10:52:30
virus.dll

548 :デフォルトの名無しさん:2009/12/05(土) 12:31:36
危険ウィルス.dll

549 :デフォルトの名無しさん:2009/12/05(土) 13:11:07

Process.Start(@"wmplayer");

これだけで、C:\Program Files\Windows Media Player\wmplayer.exe
を実行できるのはなぜ?
C#にはあらかじめwmplayerのファイル情報とか登録されてるの?

550 :デフォルトの名無しさん:2009/12/05(土) 13:25:41
スタートメニューの「ファイル名を指定して実行」で起動できるものは
同じように起動できるんじゃない? 例えばregeditとか
つまりC#の機能じゃない

551 :デフォルトの名無しさん:2009/12/05(土) 13:34:41
regeditはまた別の理由だけどなー
wmplayerはシェルの機能
ProcessStartInfo.UseShellExecuteをfalseにするとwmplayerのフルパスが必要になる

552 :デフォルトの名無しさん:2009/12/05(土) 13:53:10
シェルって何なのかよく分からないよね

553 :デフォルトの名無しさん:2009/12/05(土) 13:53:24
http://msdn.microsoft.com/ja-jp/library/53ezey2s%28VS.80%29.aspx
>ファイル名の指定によるプロセスの起動は、Windows [スタート] メニューの [ファイル名を指定して実行] ダイアログ ボックスへの情報の入力と同様です。

>あらかじめwmplayerのファイル情報とか登録されてるの?
ここに登録されてるPathを見て呼び出されている。上の人が書いてるようにシェルの機能でC#とは関係ない。
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths

554 :デフォルトの名無しさん:2009/12/05(土) 16:59:24
>>516
規約で禁止すればok
技術的にはあきらめれ

555 :デフォルトの名無しさん:2009/12/05(土) 17:40:10
実態はネット越しに置いておいてRPCみたいに使うようにして、使用する際に認証が必要にするとか。


556 :デフォルトの名無しさん:2009/12/05(土) 18:11:14
C#からC++って移行しやすいですか

557 :デフォルトの名無しさん:2009/12/05(土) 18:13:23
うん。でもC#の便利さになれたら不便に感じることが多いはず

558 :デフォルトの名無しさん:2009/12/05(土) 18:16:39
>>557
ですよねぇ・・・
インテリセンスだとか、そのあたりの機能面ではVS2010で改善される見込み有るんですか?
簡単にVC++やってみたんですけど、C#みたいにインテリセンスの使い勝手が良く無くて・・・

559 :デフォルトの名無しさん:2009/12/05(土) 18:18:00
C++は簡単にやるための言語じゃないからな

560 :デフォルトの名無しさん:2009/12/05(土) 18:22:36
MSにはもうC++をどうこうしようって気概はあんまり感じられないなぁ・・・

>>559
いやでもIDEが簡単にしてくれるならそれにこしたことはないとは思う。
補完とか特に。

561 :デフォルトの名無しさん:2009/12/05(土) 18:24:33
だってC#はインテリセンスのことまで考えて設計された言語だよね
C++のころはそんなのなかったからなぁ

562 :デフォルトの名無しさん:2009/12/05(土) 18:30:23
そのうちあえて++使う理由はどんどんなくなってく気はするな
ネイティブもC#で書ければいいのになぁ

563 :デフォルトの名無しさん:2009/12/05(土) 18:30:40
>>559
インテリセンスの不便さと全然関係ないだろw

564 :デフォルトの名無しさん:2009/12/05(土) 18:45:35
>>563
関係あるんじゃない?
C++は言語的にインテリセンスしにくいらしいし

565 :デフォルトの名無しさん:2009/12/05(土) 18:57:06
なんかクエリ式がfrom句から始まる理由もそんなんだとか言ってなかったか

566 :デフォルトの名無しさん:2009/12/05(土) 19:15:45
>>562
そうなんですよね・・・ネイティブを作りたいからC++やりたいと思いまして・・・
C#でネイティブ書ければいいんですが・・・

567 :デフォルトの名無しさん:2009/12/05(土) 19:19:03
ネイティブならdelphiの方が…

568 :デフォルトの名無しさん:2009/12/05(土) 19:43:46
DLLを作って、そのDLLが同じディレクトリに入っていないとエラー出ますよね。
そのExceptionはどこで出ているのですか?

569 :デフォルトの名無しさん:2009/12/05(土) 19:46:10
マネージドなアセンブリなのかアンマネージドなDLLなのかにもよると思うが

570 :デフォルトの名無しさん:2009/12/05(土) 19:56:53
シェルを一言で説明すれば?

571 :デフォルトの名無しさん:2009/12/05(土) 20:05:20
魔法防御強化魔法

572 :デフォルトの名無しさん:2009/12/05(土) 20:19:20
オランダ資本の(以下略

573 :デフォルトの名無しさん:2009/12/05(土) 20:19:53
アンマネージドDLLです

574 :デフォルトの名無しさん:2009/12/05(土) 20:21:40
C# で Java の WeakHashMap みたいな他に参照しているものがいなくなったら
GC対象になるような Dictionary はないのでしょうか?
ないのであれば、どのように実装したらいいのかのヒントをお願いします。

#ファクトリメソッドとかでオブジェクトのキャッシュ等を作ろうとすると必要になりますよね・・・?

575 :デフォルトの名無しさん:2009/12/05(土) 20:29:16
MSDNのWeakReference読むといいよ

576 :デフォルトの名無しさん:2009/12/05(土) 20:33:30
>>575
ありがとうございます!
そのものずばりの例まで載っていました。


577 :デフォルトの名無しさん:2009/12/05(土) 20:54:30
MSDNの例だとKeyはGCされないから
ファクトリメソッドなんかで使うとちょっと期待した動作と違うことになるかもな

578 :デフォルトの名無しさん:2009/12/05(土) 20:57:04
オブジェクトの管理用なんかにはWeakReferenceいいけど、
キャッシュとかには単純には使わない方がいいよ。


579 :デフォルトの名無しさん:2009/12/05(土) 20:57:54
そうそう、>>577も言ってるけど、普通にやるとキーは消えないから注意。


580 :574:2009/12/05(土) 21:16:08
なるほど・・・。
あと MSDN の例だと WeakReference オブジェクト自体も GC 対象にはなりませんね。
キーを WeakReference にして格納したとしても同じ問題が起きちゃうか・・・


581 :デフォルトの名無しさん:2009/12/05(土) 21:21:53
だからたまにキーが死んでる要素を削除するんだよ

582 :574:2009/12/05(土) 21:27:42
なるほど、なるほど。
その「たまに」ってのがGCのタイミングだと嬉しいんですけど、
なかなか実現が難しそうですね。


583 :デフォルトの名無しさん:2009/12/05(土) 21:39:30
どのみち一般的に実装できるようなものじゃない
使い方次第だ

584 :デフォルトの名無しさん:2009/12/05(土) 21:58:51
キーまで弱参照にする場合はほとんどキャッシュ専用になるな。
今そのキーがあるかないかが処理にかかわらないような場合ってことね。

値のみ弱参照の場合はキャッシュの効く Dictionary みたいな用途かな。

585 :デフォルトの名無しさん:2009/12/05(土) 22:00:38
物理シミュレーションプログラムを使うのは
VC#とVC++とどっちが適してるかな?
似たようなもん?

586 :デフォルトの名無しさん:2009/12/05(土) 22:02:33
まあその質問レベルじゃどっちでも似たようなもんだ

587 :デフォルトの名無しさん:2009/12/05(土) 22:02:56
なんでJavaには出来てC#には出来無いんだ????

588 :デフォルトの名無しさん:2009/12/05(土) 22:06:20
>キーまで弱参照
無理だよそんなの。
まともに使えない。


589 :デフォルトの名無しさん:2009/12/05(土) 22:08:26
Given a player move and a specific direction, determines if any opponent discs will be outflanked.
Note: For performance reasons the direction values are NOT checked for validity (dr and dc may be one of -1, 0 or 1 but both should not be zero).

590 :デフォルトの名無しさん:2009/12/05(土) 22:10:50
キーを弱参照にするのは普通にあるパターンだよ
JavaのWeakHashMapはそう
キーとして使うオブジェクトに付加的なリソースを割り当てたりするのに使う

591 :デフォルトの名無しさん:2009/12/05(土) 22:13:26
>>588
そうか?
- キーまたは値が回収済みの場合はどこぞからか読み込み/格納し、それを返す
- キー/値ともに未回収の場合はそれを返す

って感じのキャッシュが出来るっしょ?

592 :デフォルトの名無しさん:2009/12/05(土) 22:19:04
キャッシュというより,static readonly Dictionary<object, ObjectInfo> externalInformation
みたいなのが必要な時に使うんだよ
この場合キーをWeakReferenceにしないとメモリリークする

593 :デフォルトの名無しさん:2009/12/05(土) 22:22:33
その場合でも キーの WeakReference の IsAlive = false な奴を定期的に削除する処理は
必要になるんだけどな



594 :デフォルトの名無しさん:2009/12/05(土) 22:30:19
むしろキーの強参照を避けるのが重要で値の方は少々放置してもいいような場合に使う
普通に考えるキャッシュとは違うな

595 :デフォルトの名無しさん:2009/12/05(土) 22:36:06
なんか使い方が難しいってことはよくわかった
よくわかんない人は使わなくても全然おk?

596 :デフォルトの名無しさん:2009/12/05(土) 22:38:10
>>595
OK

597 :デフォルトの名無しさん:2009/12/05(土) 22:39:54
このオブジェクトが生きている限りは生きていてほしい
死んだらもう不要 ってときに使うの
よく,メモリを食うオブジェクトをGCできるようにしておくために弱参照を使うなどと書いてあるサイトがあるけど
これは間違い。MSDNにもそういうキャッシュには使うなと書いてある。

598 :デフォルトの名無しさん:2009/12/05(土) 22:46:24
なんでそういうキャッシュには使ったらだめなの?

599 :デフォルトの名無しさん:2009/12/05(土) 23:40:52
大きい画像を重ねて表示させようとしているんですが(最大1920*1024を4枚)
drawImageでは処理が重くて困ってます

(TextureBrushも考えたんですが途中で元のBitmapを変更することがあるの
で・・・)

なにか素早く表示するのにいい方法があればよろしくお願いします

600 :デフォルトの名無しさん:2009/12/05(土) 23:48:07
いや、そこで言っているキャッシュってHTTPキャッシュじゃないのか?
キャッシュポリシーを作成しろと書いてあって、キャッシュポリシーが
何を指すかと検索してみるとHTTPキャッシュのポリシーだから。

601 :デフォルトの名無しさん:2009/12/05(土) 23:53:04
「クリアされても簡単に再作成できるオブジェクト」に使えと書かれていることから、
メモリを食うからって作成コストも考えないで使うんじゃないよ、ということかなと。

602 :デフォルトの名無しさん:2009/12/05(土) 23:54:49
>>600
何を言ってるんだ????

603 :デフォルトの名無しさん:2009/12/05(土) 23:59:09
>>602
http://msdn.microsoft.com/ja-jp/library/ms404247.aspx
弱い参照より

> 弱い参照を使用するにあたってのガイドライン
> メモリ管理の問題の自動的な解決方法として、弱い参照を使用しないでください。代わりに、アプリケーションのオブジェクトを処理するための効果的なキャッシュ ポリシーを作成します。

ここのキャッシュポリシーってなんぞ?ってのを検索したらどーのこーのってことじゃないのかね
何いってるのか俺も意味わからんけど

604 :デフォルトの名無しさん:2009/12/06(日) 00:02:18
クリアされても簡単に再作成できてメモリを馬鹿喰いするオブジェクトが思い付かない
簡単にってのが何を指してるんだろう


605 :デフォルトの名無しさん:2009/12/06(日) 00:21:19
関数の引数に関数をいれるのって良くない?

hoge( piyo("abcd") )
みたいな

606 :デフォルトの名無しさん:2009/12/06(日) 00:23:04
WeakReferenceはGC一発で回収されるからキャッシュポリシーとしてまともに動かない。
だからGC頼りじゃない、別のキャッシュポリシーが必要ってことだよ。


607 :デフォルトの名無しさん:2009/12/06(日) 00:26:56
>>588でおれが書いたのは単に
Dictionary<WeakReference, WeakReference>
見たいのどうやって使うんだよって話だよ。
あくまで実装レベルでの使い方話で、ポリシーや設計レベルの話じゃない。
キーにWeakReference,なんて普通に使えないだろ?ってだけ。
使えるっていうならどう使うか使うとこのコードを書いてみてくれ。


608 :デフォルトの名無しさん:2009/12/06(日) 00:32:16
>>605
別に悪くないんじゃない?副作用のあるメソッドを引数で複数回呼ぶときは
誤解うまないようわけた方がいいんじゃないかなとは思うけど。


609 :デフォルトの名無しさん:2009/12/06(日) 00:33:31
>>607
この話題が出てからググってひっかかったとこ。
key も value も WeakReference を使って作った WeakDictionary の実装例
http://blogs.msdn.com/nicholg/archive/2006/06/04/617466.aspx

610 :デフォルトの名無しさん:2009/12/06(日) 00:41:26
つまりDictionary<WeakReference, WeakReference>
こんなんじゃないってことだろ。
作ればできるのは分かってる。


611 :デフォルトの名無しさん:2009/12/06(日) 00:43:06
うん。そうだね。


612 :デフォルトの名無しさん:2009/12/06(日) 01:02:31
>>558
2010で多少マシになってる。
けど、C++で本気出すのはその次のバージョンでとか言ってたんじゃないかと。

>>565
そう。
最後がSelectじゃないとインテリセンス効かないから。


613 :デフォルトの名無しさん:2009/12/06(日) 01:06:07
よっさ

614 :デフォルトの名無しさん:2009/12/06(日) 02:25:57
複数行labelのTextを、中央揃えで表示したいのですが、
どうすればいいですか?

615 :デフォルトの名無しさん:2009/12/06(日) 02:30:09
>>614
何を言ってんだ?
どうするもこうするも、普通にできるじゃないか。

616 :デフォルトの名無しさん:2009/12/06(日) 02:38:09
普通に・・・といっても、1つのlabelのテキストを中央揃えに出来ますか?
行数の分labelを分割すれば出来るんですが・・・

617 :デフォルトの名無しさん:2009/12/06(日) 02:41:29
自分で試す前に質問してるの?

別にプログラミングで意図した結果が出てもPCが爆発するわけでも死ぬわけでも
ないんだから先に試せよw

そういう性格プログラミングに一番向かないタイプだよ真面目に

618 :デフォルトの名無しさん:2009/12/06(日) 02:49:22
答えられないなら書き込まないでくれませんか?
邪魔です

619 :デフォルトの名無しさん:2009/12/06(日) 02:59:54
初心者叩いて喜んでるキチガイは無視

620 :デフォルトの名無しさん:2009/12/06(日) 04:53:06
>>616
LabelのTextAlign変えたらええやん

621 :デフォルトの名無しさん:2009/12/06(日) 07:13:53
結局C#ってVBのC風味って感じなのかなぁ。
.NET Frameworkが言語仕様と切り離し不可能になっているし、
データベース関連が非常に手厚いように見える。

便利だからよかろうと言って一緒くたになっているのは正にマイクロソフトってかんじ。
数年後には整理したくなって、また新しい言語をつくるのかな。
書き捨てごめん・・・

622 :デフォルトの名無しさん:2009/12/06(日) 07:33:36
VB6から移行しやすいように作ったのがVB.NET
C++から以下同文がC#ってだけ
VBでもないしC++でもない
MSも誤解を招きそうな言い方をしているが、それらの延長線上にある言語でもない(と、俺は思う)

.NETが言語仕様と切り離し不可能ってのも違う
C#の言語仕様にCLRのコードを吐けとは規定されてない
その辺はコンパイラの自由でありネイティブなコードを吐いても構わない
MONOのコンパイラは実際吐ける

書き捨てる前に知識を仕入れろ

623 :デフォルトの名無しさん:2009/12/06(日) 08:04:22
便利なのはC#じゃなくてVisualStudioだな
VSでしかコード書いたことないやつは他の環境だとまともに書けないことが多い

624 :デフォルトの名無しさん:2009/12/06(日) 08:29:36
>.NETが言語仕様と切り離し不可能ってのも違う
厳密には切り離し不可能とはいえないかもしれないけど、事実上対なのではないかなと思う。
Windowsでかなり有機的になって理解が大変だったが、Frameworkで言葉を換えてさらに有機的になったように思う。
ソフトもドキュメントもどんどん抽象的になって、実際具体的にさしているものがイメージしにくい。
知識を入れているが、.NETが大きすぎて全体像がいまだに掴めないんですよね。

>MSも誤解を招きそうな言い方をしているが、それらの延長線上にある言語でもない(と、俺は思う)
こういう一言って、C#って何者??という頭になっている自分にはすごく救われますよ、ありがとう。

>書き捨てる前に知識を仕入れろ
書き捨てはTwitterにしていたんだが、間違って掲示板に書いてしまった。不快な思いをさせてごめんなさいね。
全国の浦島太郎、頑張ろうぜ!

625 :デフォルトの名無しさん:2009/12/06(日) 08:48:36
AsyncOperationの使い方がよく分からないよママ

626 :デフォルトの名無しさん:2009/12/06(日) 09:13:32
BackgroundWorkerかControl.BeginInvokeでよくね?

627 :デフォルトの名無しさん:2009/12/06(日) 10:07:36
使ってみたいだけです('A`)

628 :デフォルトの名無しさん:2009/12/06(日) 11:41:41
バックグラウンド処理を開始するときに、
まず開始前にCreateOperationで作成してから、処理開始。
処理側から通知したいときにポストとかする。
終わったらコンプリートする。
いま携帯だから詳しく書けない。

.NETの公開されてるソースに、BackgroundWorker無かったかな?
それのソースが一番参考になると思うが。
ってか別に普通に実装サンプルあった気がするな…


629 :デフォルトの名無しさん:2009/12/06(日) 11:46:57
http://msdn.microsoft.com/ja-jp/library/hkasytyf%28VS.80%29.aspx
完全無欠なドキュメントがある

630 :デフォルトの名無しさん:2009/12/06(日) 11:52:22
ああごめん
まさに629を読んで既に解決してました

631 :デフォルトの名無しさん:2009/12/06(日) 12:16:28
>>623
そりゃまぁ、わざわざ他の環境使う必要ないからな。

632 :デフォルトの名無しさん:2009/12/06(日) 12:38:25
フォームをクリックしたときなんかする(MessageBox.Showとか)
のは、OnClickをオーバーライドするのと
this.Click += メソッド名
ってやるのとどっちがいい?

633 :デフォルトの名無しさん:2009/12/06(日) 12:41:36
オーバーライド

634 :デフォルトの名無しさん:2009/12/06(日) 12:43:56
どうもありがとう。overrideのほうがわかりやすいしな。

635 :デフォルトの名無しさん:2009/12/06(日) 14:00:24
まあ、テキストエディタでC#書いたらJavaより酷いことになりそうだな

636 :デフォルトの名無しさん:2009/12/06(日) 14:04:31
C#はインテリセンスも前提として設計されてるから、インテリセンスで書くともはや普通のエディタでは書けない

637 :デフォルトの名無しさん:2009/12/06(日) 14:05:59
C#というより.NETのライブラリの方

638 :デフォルトの名無しさん:2009/12/06(日) 14:07:31
Ruby始めて最初はスクリーンエディタ使ってたけど
C#経験してると補完なしは苦痛以外の何物でもない
やむなくNetBeans使い始めたけど、C#と比べたら補完なしと変わらん
動的型付けとかの問題は確かにあるが

639 :デフォルトの名無しさん:2009/12/06(日) 14:10:20
スクリーンエディタって言葉を聞いたのは30年ぶりだわw
そんな死語まだ使う人いるんだ

640 :デフォルトの名無しさん:2009/12/06(日) 14:12:49
ラインエディタがなくなったから、わざわざ言わなくなっただけで、
別に死語じゃないだろ。

641 :デフォルトの名無しさん:2009/12/06(日) 14:17:00
インテリセンスけなしてる奴にはEDLINで開発してもらいたいなw

642 :デフォルトの名無しさん:2009/12/06(日) 14:17:42
死語って言いたいだけのかまってちゃんだろ

643 :デフォルトの名無しさん:2009/12/06(日) 14:19:56
おいおい、またプロ(笑)ならエディタを選ばずメモ帳で
プログラミングぐらいできて当たり前とか言い出すぞ

644 :デフォルトの名無しさん:2009/12/06(日) 14:20:53
>>639はWindowsでしかプログラム書かないんだろうな
LinuxでCUI環境ならスクリーンエディタ使うなんて至って普通

645 :デフォルトの名無しさん:2009/12/06(日) 14:21:44
初心者スレだからDisposeでOK

646 :デフォルトの名無しさん:2009/12/06(日) 14:30:31
Rubyって見た目キモいし微妙にC#っぽくて紛らわしくて嫌い
Pythonの方が好き

647 :デフォルトの名無しさん:2009/12/06(日) 14:32:05
rubyってbeginとかendがある言語だろ
気持ちワリー

648 :デフォルトの名無しさん:2009/12/06(日) 14:33:51
あれは同意。書くのも消すのも面倒そうとしか思えない

649 :デフォルトの名無しさん:2009/12/06(日) 14:34:08
Delphiを作ったアンダースおじさんが泣いてる

650 :デフォルトの名無しさん:2009/12/06(日) 14:35:17
>>644
Windowsしか知らない人はスクリーンエディタなんて言葉聞いたこともないだろw

「Windowsでしか〜だろうな」
「LinuxでCUI環境なら」
最近Linux触りはじめた人の寒い自慢にしか聞こえないからやめとけ

651 :デフォルトの名無しさん:2009/12/06(日) 14:38:10
>最近Linux触りはじめた人の寒い自慢にしか聞こえないからやめとけ
あるあるあるあるありすぎてこまる



652 :デフォルトの名無しさん:2009/12/06(日) 14:39:56
嫌な思い出がフラッシュバックした

653 :デフォルトの名無しさん:2009/12/06(日) 14:40:05
そんなもん自慢して何になるんだよ・・・
「死語」なんて使う奴のほうがマスコミ脳ぽくってよっぽどキモイわ
少なくとも俺の周りにはそんな化石はおらん

654 :デフォルトの名無しさん:2009/12/06(日) 14:40:23
このスレのガーベージコレクションはどういう仕組みですか?

655 :デフォルトの名無しさん:2009/12/06(日) 14:42:06
>>653
自己顕示欲を満たしたいんだから何だって自慢の種にはなる

656 :デフォルトの名無しさん:2009/12/06(日) 14:58:19
「みなさんはIMEに何を使っていますか?」




突っ込みたくなったら負け。

657 :デフォルトの名無しさん:2009/12/06(日) 15:03:33
クラスの中でなんでも自慢したい奴が確かに居たが
何を言っても自分の知らないことは「自慢かよ」って言う
ショーもないのも必ずいる

658 :デフォルトの名無しさん:2009/12/06(日) 15:42:29
>>656

659 :デフォルトの名無しさん:2009/12/06(日) 15:49:18
「みなさんはATOKに何を使っていますか?」

660 :デフォルトの名無しさん:2009/12/06(日) 15:51:23
IMEをMS-IMEのことだと思っている人ですか?

661 :デフォルトの名無しさん:2009/12/06(日) 15:52:14
に って言われると困るな


ああ、俺負けだ

662 :デフォルトの名無しさん:2009/12/06(日) 15:53:14
みなさんはJapanistに何を使っていますか?

663 :デフォルトの名無しさん:2009/12/06(日) 15:55:13
>>657
これも居すぎてこまる
嫌儲とかここらへんの血を引き継いでると思う

664 :デフォルトの名無しさん:2009/12/06(日) 21:15:29
コンソールアプリの出力をEclipseみたいに
VC#の出力ウィンドウに出力させるにはどうしたらいいんでしょうか?

665 :デフォルトの名無しさん:2009/12/06(日) 21:26:19
自己レスですいません、Trace.WriteLineでできました・・
しかし、デバッグしたときにコマンドプロンプト画面を出さないようにするには
どうしたらいいのでしょうか?

666 :デフォルトの名無しさん:2009/12/06(日) 21:32:38
Windows フォームアプリにすればいい。

667 :デフォルトの名無しさん:2009/12/06(日) 21:45:01
できましたw

668 :デフォルトの名無しさん:2009/12/06(日) 22:06:42
デバッグならTraceじゃなくてDebug.WriteLineの方を使った方がいい

669 :デフォルトの名無しさん:2009/12/06(日) 23:12:43
プログラムから、プログラム(exeファイル)を生成する事は可能ですか?

670 :デフォルトの名無しさん:2009/12/06(日) 23:14:53
CodeDOM
または流行りのSystem.Reflection.Emit

671 :デフォルトの名無しさん:2009/12/06(日) 23:29:09
.netにデフォルトで入ってるdllが
簡単に逆汗できるようになってるのは
初心者がソースをよんで勉強しろってことだろうか。

672 :デフォルトの名無しさん:2009/12/06(日) 23:31:01
逆アセンブルなぞせずとも普通にソース公開しておる

673 :デフォルトの名無しさん:2009/12/06(日) 23:39:18
Standerd以上だろ
Expressは見られないよ

674 :デフォルトの名無しさん:2009/12/06(日) 23:43:45
>>670
どこではやってんだw

>>671
リフレクション用にいろいろメタデータ入っちゃってるから。

>>673
reflector for .NET でぐぐれ。


675 :デフォルトの名無しさん:2009/12/06(日) 23:50:35
>>670
うーん・・・
どっちが手軽ですかね・・・?

676 :デフォルトの名無しさん:2009/12/06(日) 23:53:08
CodeDOMはC#のコードをコンパイルできるけど
EmitはIL直書きなので非常に大変
流行ってるというのはIronPythonなどの.NETで動く動的言語に後者が駆使されてる
dynamicもEmitがベースになってる

677 :デフォルトの名無しさん:2009/12/06(日) 23:55:50
CodeDOMは まずCodeDOMのラッパから考えないと
やってられない位面倒だった。Reflection.Emitはやったことない。

CodeDOMのサンプル
http://blogs.wankuma.com/naoko/archive/2007/09/27/98283.aspx
http://codezine.jp/article/detail/605

678 :デフォルトの名無しさん:2009/12/07(月) 00:02:48
>>676,677
どっちも大変なんですかね。。
数行のプログラム(Console.Write程度)で実験しようと思ったのですが、
やっぱりCodeDomにするべき・・・かな・・・?

679 :デフォルトの名無しさん:2009/12/07(月) 00:03:24
前スレが埋まる前に告知できなかったためこちらに…

C#, C♯, C#相談室 Part55
http://pc12.2ch.net/test/read.cgi/tech/1260111240/

680 :デフォルトの名無しさん:2009/12/07(月) 00:04:55
CodeDOMの方がサンプルが揃ってるのでお勧めしておく。

681 :デフォルトの名無しさん:2009/12/07(月) 00:05:39
文字列をC#のコードとしてコンパイルできるから簡単でしょ
Reflection.Emitは>>674の考える面倒という概念をはるかに超えてる
il.Emit(OpCodes.Ldc_I4_1);
il.Emit(OpCodes.Ldc_I4_2);
il.Emit(OpCodes.Add);
il.Emit(OpCodes.Ret);
これで return 1 + 2; 相当

682 :デフォルトの名無しさん:2009/12/07(月) 00:05:51
>>678
Console.Write程度ならすぐに出来るけど、それ以上のことをやろうと思うとILを真面目に勉強しないと厳しいよ。

683 :デフォルトの名無しさん:2009/12/07(月) 00:10:38
>>681
俺言語を作ろうとして電卓完成直後に力尽きたのでよく分かる。

684 :デフォルトの名無しさん:2009/12/07(月) 00:10:45
まあILを読めるようになっておくのも悪くない

685 :デフォルトの名無しさん:2009/12/07(月) 00:20:37
DLRや.NET4のExpression Tree使えばわりと簡単にEmit扱えるんだけど

686 :デフォルトの名無しさん:2009/12/07(月) 00:25:20
>>680-685
どうも。
とりあえず、CodeDOMが無難みたいですね・・・そうしたいと思います。
また、暇な時にILも勉強してみたいと思います。

687 :デフォルトの名無しさん:2009/12/07(月) 00:39:04
>>685
いやいや、式木が出たからこそ、もう IL 直吐きなんてしたくないだろ。

>>686
一番無難なのは、今βなのを我慢して .NET 4 使うこと。
CodeDOM とか IL Emit と比べたら、DLR(.NET 4 では標準搭載)の式木は大分使いやすい。

688 :デフォルトの名無しさん:2009/12/07(月) 01:28:49
Visual Studioで勝手に作られるC#のソースコードは冗長でダメだな。
いちいちForm.Click += new Eventhandler(なんとか)みたいなクソ長いことしないで
ラムダ式とかで書いてくれよな。

689 :デフォルトの名無しさん:2009/12/07(月) 01:39:45
自分で書けよ

690 :デフォルトの名無しさん:2009/12/07(月) 02:03:09
using System;
using System.Windows.Forms;

これで、ソリューションエクスプローラの「参照設定」
にSystem名前空間を含めなくてもSystemに入ってるクラス(Consoleとか)を使えるけど
Windows.Formsのほうは「参照設定」に追加しないとダメなのはなんでだ?

System名前空間はなんか特殊な権限があるのか?

691 :デフォルトの名無しさん:2009/12/07(月) 02:07:19
名前空間の名前と参照するDLLの名前は全く関係ない
System.Linq名前空間のEnumerableクラスがどのdllに入ってるか調べてみ

692 :デフォルトの名無しさん:2009/12/07(月) 02:14:02
質問内容がわかりづらくてすまん。
System名前空間がmscorlib.dllにはいってるのはわかるんだ
で、それを使うときに参照設定にmscorlib.dllを追加しなくても使えるのはなんで?
FormクラスはSystem.Windows.Form.dllにはいってるらしいからこれを参照設定に追加しなきゃならない。
mscorlibの特権?

693 :デフォルトの名無しさん:2009/12/07(月) 02:19:59
ああ、そういうことね
その通り それを抑制する/nostdlibオプションもある
VS2008ならプロパティでビルドの詳細設定から

694 :デフォルトの名無しさん:2009/12/07(月) 02:23:37
ああ、こんなところにあった
mscorlibを参照しないとか書いてる。なるほど、mscorlibはなぜか特権階級だったわけか。

なぞが解けた。どうもありがとう

695 :デフォルトの名無しさん:2009/12/07(月) 02:44:06
だってこれ参照しないと本当に何も使えないんだぜ。


696 :デフォルトの名無しさん:2009/12/07(月) 03:11:31
mscorlib.dllを参照しない場合とは、mscorlibそのものをビルドするときだけだとひそかに思っている。

697 :デフォルトの名無しさん:2009/12/07(月) 08:01:02
ある大規模団地の賃貸管理システムを考えています。
物件ごとに入居者や賃料、入居日や契約期間を一覧にします。
その中で、
・賃貸管理表(家主宛)と
・賃貸管理表(内部経営者用)
の2帳票を作成したいのですが、内容は一部の相違点があるものの、95%は打ち出す項目が同じ(約200項目)なんです。
なので、印刷内容を項目ごとに先頭のパブリッククラスの中で共通ワーク変数に格納して、プリントドキュメントの中でその変数を参照したらいいかなと思っていますが、
皆さんはこのような、大量項目を類似2帳票に印字する場合、どのようにプログラムを組まれていますか?

よろしくお願いします。

698 :デフォルトの名無しさん:2009/12/07(月) 09:29:22
賃貸情報クラス、賃貸情報項目クラスを作って、

・賃貸情報項目クラスに出力する帳票とその順序などのデータを持たせる
・賃貸情報クラスで項目と値を関連付けてコレクションに入れる
・帳票への出力時に必要な項目を取捨選択する

あとは現状のシステムとか要件が分からんとなんとも

699 :デフォルトの名無しさん:2009/12/07(月) 10:06:47
>>698
ありがとうございます。
2つのクラスを作るとのことですが、すみません。
まだクラスを作った経験がありません。
実際に各項目のDrawはどのタイミングで行うのでしょうか。
プリントドキュメントのプリントページイベント内で2つのクラスを呼ぶイメージでしょうか…。

700 :デフォルトの名無しさん:2009/12/07(月) 11:01:02
C#勉強してたらほかの言語を勉強するのは楽だな。
ちょっとした文法の違いを学ぶだけでオブジェクト指向とかメソッドとか変数の型とか概念そのものを勉強する必要性がないな。

C#やってからRubyに移行したほうがいいな。

701 :デフォルトの名無しさん:2009/12/07(月) 11:04:44
つ F#

702 :デフォルトの名無しさん:2009/12/07(月) 11:22:37
イベントハンドラに登録するとき、

form.FormClosed += new FormClosedEventHandler(Form1_FormClosed);
でも
form.FormClosed += Form1_FormClosed;
でも

どちらでもコンパイルが通ってしまうんだけど、何か違いはあるんだろうか?

703 :デフォルトの名無しさん:2009/12/07(月) 11:27:16
ない。完全な省略。

704 :デフォルトの名無しさん:2009/12/07(月) 11:30:32
C# 2.0から省略可能になったはず。

705 :デフォルトの名無しさん:2009/12/07(月) 12:31:39
社員1:200,200
社員2:200,000
社員3:240,000

社員320:180,000
と、社員1〜320までの毎月の社員給与を計算して、インスタンス変数に取っており、これを別々の2つのパネルのデータグリッドビューに表示させています。
しかし、インスタンス変数を300も1000も定義するのは間違いなのではとも思います。
こういう場合、社員1〜320までの給与を計算するサブルーチンを用いて、get、setなどの命令で参照するようにすることはできますか?
全くの初心者で、ズレた質問かもしれませんがよろしくお願いします。

706 :デフォルトの名無しさん:2009/12/07(月) 12:38:33
データベースをデータグリッドビューにバインドするだけ
ほとんどコード書かずにできる

707 :デフォルトの名無しさん:2009/12/07(月) 12:49:36
データセットやインスタンス変数を使わずに共通ワークエリアから引用する方法はあるのかな。
COBOLの経験しかないので、ワーキングストレージセクションみたいなのがあって欲しい。

708 :デフォルトの名無しさん:2009/12/07(月) 12:53:44
ないかもね

709 :デフォルトの名無しさん:2009/12/07(月) 13:00:30
コレクションって何?
ワーキングストレージセクションみたいな印象。

710 :デフォルトの名無しさん:2009/12/07(月) 13:05:52
>>709
ユーザー定義可能な集合型。
通常イテレータが定義され、foreach構文で回せることが期待される。
中身は実装次第で変わりうるが、通常オンメモリのストレージと考えて差し支えない。
RDBのアクセッサはなんだかんだでコレクションとして扱えるようになっている実装が多い。

MSDNは読んだ?
http://msdn.microsoft.com/ja-jp/library/6tc79sx1%28VS.80%29.aspx

711 :デフォルトの名無しさん:2009/12/07(月) 13:38:39
COBOLなんかさっさと忘れてしまえ

712 :デフォルトの名無しさん:2009/12/07(月) 13:49:35
COBOLを忘れられない君に、COBOL.NET

713 :デフォルトの名無しさん:2009/12/07(月) 14:19:49
最近の言語使う上でCOBOLの知識は役に立たないどころか有害

714 :デフォルトの名無しさん:2009/12/07(月) 14:31:40
あと10年したらひとまわりしてまたCOBOLの時代がくるよ

715 :デフォルトの名無しさん:2009/12/07(月) 14:33:29
ひまわりの時代はまだかな

716 :デフォルトの名無しさん:2009/12/07(月) 14:42:35
1.データセット「DataSetShop」をデザイナ上で作成しました。
2.「DataSetShop」の中に「food」というテーブルを作成しました。
3.メインフォーム「shopsearch」のデザイナ上に「DataSetShop_standard」を配置しました(参照先は「DataSetShop」)。
4.「shopsearch」のコードの中で
 DataTable shop = DataSetShop_standard.food();
 と記述して、foodテーブル内の項目を参照することができましたが、
5.「shopsearch」内に
 public class shop_address というクラスを作り、
 その中で「DataSetShop_standard」を参照することができません。
public class の中で、定義済みデータテーブルを参照するにはどうすればよいでしょうか。
よろしくお願いします。

717 :デフォルトの名無しさん:2009/12/07(月) 17:00:49
ああなるほど。
hoge.HogeEvent += new HogeEventHandler(Hoge_Event); って
hoge.HogeEvent += Hoge_Event;って書けるから
hoge.HogeEvent += (s, a) =>{ //Hoge_Event };
って書いてもコンパイル通るのか。
デリゲートでラムダ使う場合一回キャストしないとダメなのに、
なんでイベント登録では通るのか謎が解けたわ。

718 :デフォルトの名無しさん:2009/12/07(月) 18:46:04
>>716ですが
どなたか教えてください…。。。

719 :デフォルトの名無しさん:2009/12/07(月) 19:03:00
>>718
無理。仕様。
そのインナークラス(だと思うが)のコンストラクタにでも参照渡してやれ。
というか、店の住所が店じゃなくてフォームに紐付いてる設計を疑問に思え。

720 :デフォルトの名無しさん:2009/12/07(月) 19:45:52
画面サイズ1024×768にあわせたフォームForm1と
画面サイズ1600×900にあわせたフォームForm2があって
それをProgram.csの中でスクリーンの横サイズを判断して
切り替えたいのですがうまくいきません。。。
Form2はフォームが大きさ分、Form1より表示項目を追加しています。
よろしくお願いします。

721 :デフォルトの名無しさん:2009/12/07(月) 19:47:20
お前はその文を読んで意味が分かるのか?

722 :720:2009/12/07(月) 19:50:08
たしかに変だわ。訂正します。

画面サイズ1024×768にあわせたフォームForm1と
画面サイズ1600×900にあわせたフォームForm2があって
それをProgram.csの中でスクリーンの横サイズを判断して
どちらかをフルスクリーン表示したいのですがうまくいきません。。。
Form2はフォームが大きい分、Form1より表示項目を追加しています。
よろしくお願いします。

723 :デフォルトの名無しさん:2009/12/07(月) 19:53:52
こんな感じ?
if (Screen.PrimaryScreen.Bounds.Width < 1600) 
 Application.Run(new Form1());
else
 Application.Run(new Form2());


724 :デフォルトの名無しさん:2009/12/07(月) 19:54:01
Screen.PrimaryScreen.Bounds

725 :デフォルトの名無しさん:2009/12/07(月) 19:54:02
>>720
Screenクラス。

726 :720:2009/12/07(月) 20:01:22
>>723-725
できました!!!!!
ありがとうございました。m(_ _)m

727 :デフォルトの名無しさん:2009/12/07(月) 20:09:45
クリップボードに文字を送りたいと思い、このコードをCSC.exeでコンパイルしたのですが

using System.Windows.Forms;
class Test {
static void Main() {
Clipboard.SetDataObject("クリップボードへ送る", true);
}
}

作られたexeを実行すると下のようなエラーが出てきてしまいます。
何が悪いのかもわからないのですが、基本的に何か間違っているのでしょうか?

ハンドルされていない例外: System.Threading.ThreadStateException: OLE が呼び出される前に、現在のスレッドが Single Thread Apartment (STA) モードに設定されていなければなりません。Main 関数に STAThreadAttribute が設定されていることを確認してください。
場所 System.Windows.Forms.Clipboard.SetDataObject(Object data, Boolean copy, Int32 retryTimes, Int32 retryDelay)
場所 System.Windows.Forms.Clipboard.SetDataObject(Object data, Boolean copy)
場所 Test.Main()


728 :デフォルトの名無しさん:2009/12/07(月) 20:10:50
class Test { 
[STAThread]
static void Main() { 


729 :デフォルトの名無しさん:2009/12/07(月) 20:40:28
アプリケーションショートカット(.lnk)を取得して、
そのリンク先を取得したいのですが、どうすればいいでしょう・・・?

730 :デフォルトの名無しさん:2009/12/07(月) 20:54:12
>>728
動かすことが出来ました
ありがとうございました

↓ここのfile2clip.csを見ていじったものだったのですが
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/158setclpbrd/setclpbrd.html
これを書かれているとおりCSCでコンパイルしたのですが
やはりエラーが出るのですがこちらの問題なのでしょうか?

731 :デフォルトの名無しさん:2009/12/07(月) 21:16:03
>>701
酷なw

732 :デフォルトの名無しさん:2009/12/07(月) 21:23:21
>>730
.NET 1.1の頃はこれでも行けたのではないかと。
STA/MTAの属性指定をしないと、とりあえず中立の状態だったので。

733 :デフォルトの名無しさん:2009/12/07(月) 21:26:26
>>730
記事の日付を見てやれ。
.NET1の頃とこの辺動作が変わった。
ってことはSTAThreadの説明見りゃ書いてある。
つまり教えてもらった通り写しただけでヘルプ見る気もないだろw


734 :デフォルトの名無しさん:2009/12/07(月) 21:43:59
>>732
>>733
あっ、と納得しました!
こっちの環境にどこか問題があるのだろうと勝手に思い込んでました

どうもありがとうございました

735 :デフォルトの名無しさん:2009/12/07(月) 21:44:53
>>729
IShellLink を調べれ

736 :デフォルトの名無しさん:2009/12/07(月) 21:52:19
インスタンスのprivateフィールドって外部から絶対にアクセスできない?

737 :デフォルトの名無しさん:2009/12/07(月) 21:59:55
コンストラクタからならアクセス可能

738 :デフォルトの名無しさん:2009/12/07(月) 22:01:32
class A{
private int x;
public void func(){
x=10;
}
}

こうやれば間接的にアクセスできる

739 :デフォルトの名無しさん:2009/12/07(月) 22:01:45
あ、ゴメン。変なこと書いた。

740 :デフォルトの名無しさん:2009/12/07(月) 22:04:21
コンストラクタはインスタンスメンバだからインスタンス外部かインスタンス内部かという話なら内部だ
そういう話ならクラスのstaticメンバからはそのクラスのインスタンスのprivateメンバにアクセス可能
これは正真正銘インスタンス外部からのアクセスだ
でも>>736の言ってるのはそういうことじゃなくてたぶんクラスの外部からprivateフィールドに
アクセスできるかどうかという質問だろう
リフレクションを使えば可能


741 :デフォルトの名無しさん:2009/12/07(月) 22:05:25
絶対ってどういう絶対だ?
言語仕様の範疇では直接アクセスは無理だけど、
リフレクションでも使えば何でもできる。
パーミッションは要るけど。


742 :デフォルトの名無しさん:2009/12/07(月) 22:07:23
>>740
やっぱりリフレクションを使えばいけるんですか?
とりあえずリフレクションで拾うところまではできたんだけど
そこから先もできるのかな?と

743 :デフォルトの名無しさん:2009/12/07(月) 22:09:04
>>742
できるよ。

744 :デフォルトの名無しさん:2009/12/07(月) 22:09:12
>>741
すいません、質問の仕方が悪かったです
できることがわかったんで感謝です

745 :デフォルトの名無しさん:2009/12/07(月) 22:12:22
>>736
using System;
using System.Reflection;

namespace ReflectionTest {
class test {
private int i;
public test(int val) {
i = val;
}
}
class Program {
static void Main(string[] args) {
test obj = new test(5);
FieldInfo[] flds = typeof(test).GetFields(
BindingFlags.NonPublic | BindingFlags.Instance);
foreach (FieldInfo fld in flds) {
Console.WriteLine("{0} : {1}", fld.Name, fld.GetValue(obj));
}
}
}
}

746 :デフォルトの名無しさん:2009/12/07(月) 22:19:23
>>745
おーーー超感謝
それで fld.SetValue(obj, 3); みたいなのがしたかったんです^^

747 :デフォルトの名無しさん:2009/12/07(月) 22:23:57
ただし自己責任ね
ある日実装が変更されて動かなくなっても文句言うなよ

748 :デフォルトの名無しさん:2009/12/07(月) 22:27:05
リフレクションは別に非公式でもなんでもないから
動かなくなるってことは無いと思うけどなぁ。

749 :デフォルトの名無しさん:2009/12/07(月) 22:28:34
リフレクションする対象の実装が変わったら、ってことだろ。

750 :デフォルトの名無しさん:2009/12/07(月) 22:34:27
「実装が」って言ってるのに「リフレクションは」とか
日本語能力がヤベェですね
日本語能力初心者スレ

751 :デフォルトの名無しさん:2009/12/07(月) 22:37:52
日本語能力低すぎワロス

752 :デフォルトの名無しさん:2009/12/07(月) 22:39:07
日本語読めない人の集るスレかここはwwww
ダセーwwwwwww

753 :デフォルトの名無しさん:2009/12/07(月) 22:40:13
>>748
あほじゃね?
ちゃんと>>747読めよ。

754 :デフォルトの名無しさん:2009/12/07(月) 22:42:18
ここはC#初心者のスレであって日本語初心者はおよびでないんだが

755 :デフォルトの名無しさん:2009/12/07(月) 22:43:05
>>748
お前は消えて無くなった方がいいな
とりあえず[Obsolete]属性を与えよう

756 :デフォルトの名無しさん:2009/12/07(月) 22:45:35
>>748はGC対象です。

757 :デフォルトの名無しさん:2009/12/07(月) 22:45:41
話の通じない人は嫌いです

758 :デフォルトの名無しさん:2009/12/07(月) 22:46:43
>>748はまず日本語の勉強をしたほうがいいんじゃない?

759 :デフォルトの名無しさん:2009/12/07(月) 22:47:03
しつこいwwwwwwwwwww

760 :デフォルトの名無しさん:2009/12/07(月) 22:48:12
「実装」と「リフレクション」が同じ文字にみえるなんて・・・
眼科いったほうがいいんじゃないか?

761 :デフォルトの名無しさん:2009/12/07(月) 22:48:59
>>759
>>748さんまだいたの?

762 :デフォルトの名無しさん:2009/12/07(月) 22:50:10
一人でがんばってんなw

763 :デフォルトの名無しさん:2009/12/07(月) 22:50:17
>>748
そうだね、リフレクションは動かなくならないね。
でも private な部分は書き換えられることがあるんだよ。
まあ君にはわからないかもしれないけど。

764 :デフォルトの名無しさん:2009/12/07(月) 22:52:12
平和ですね

765 :デフォルトの名無しさん:2009/12/07(月) 22:52:16
初心者にリフレクションがなんなのか理解しろってのは無理な話。
そういう意味では >>748 もある意味しかたがなかったんだよ。背伸びしただけのこと。
お前らしつこすぎ。

766 :デフォルトの名無しさん:2009/12/07(月) 22:53:12
属性というのが裏でなにをやってるのか見えなくて気持ち悪くて仕方がない

767 :デフォルトの名無しさん:2009/12/07(月) 22:54:54
実はテレ隠しで連投してるのが >>748 というオチ

768 :デフォルトの名無しさん:2009/12/07(月) 22:55:03
プログラマは苦労に見合わないバカみたいな給料で働いてる人が大多数だから
こんな初心者スレで他人をバカにするくらいしかストレス発散の方法がないのだろう。

769 :デフォルトの名無しさん:2009/12/07(月) 22:56:07
俺は750、759、764しか書いておりません

770 :デフォルトの名無しさん:2009/12/07(月) 23:00:09
>>769
うそこけ

771 :デフォルトの名無しさん:2009/12/07(月) 23:01:14
>>768
ブーメラン

772 :デフォルトの名無しさん:2009/12/07(月) 23:02:01
気を取り直して次の初心者さんどうぞ

773 :デフォルトの名無しさん:2009/12/07(月) 23:06:08
まあ、馬鹿にするのも(ウィットとまではいかんでも)何か皮肉が利いてるとかなら
それも面白いかなとも思うんだが、どうもやり取りが単に幼稚臭いというかガキ臭いんだよなあ。

命令口調でしか口が聞けない(真面目に精神病んでるんじゃないかと思うが)
奴もやたらと多いし、この精神年齢の低さはいったい何なんだろうなとは思うな。

安月給(A)がストレス(B)の原因という因果分析(A⇒B)は恐らく間違ってる。
そうではなく、無能な人格破綻者だから(C)安月給でストレスが溜まる(C⇒A、C⇒B)
というのは恐らくより正しい物の見方だろう。

774 :デフォルトの名無しさん:2009/12/07(月) 23:08:20
何か必死なのが二人ぐらいいる気がする

775 :デフォルトの名無しさん:2009/12/07(月) 23:10:40
とりあえず>>748にアンカー付けてるのは2人だと思う。
勘だけど。

776 :デフォルトの名無しさん:2009/12/07(月) 23:16:12
命令口調なんてここでは別に何とも思わんが、
>>773みたいのが一番うざい。
ってか最近やたら命令口調に噛みつくやつがいるが、
2ちゃんで命令口調って普通に話してるくらいの感覚なんだがな。


777 :デフォルトの名無しさん:2009/12/07(月) 23:19:11
>>748はここまで苛められるほど酷い発言だったのか?

778 :デフォルトの名無しさん:2009/12/07(月) 23:19:40
お前ら安月給でプログラムしかできない連中はいちいちバカにせず黙って日曜プログラマに技術を教えていればいい。
そのくらいしか存在価値がないんだから。

779 :デフォルトの名無しさん:2009/12/07(月) 23:22:41
>>778
そんなに自分をいじめるなよ

780 :デフォルトの名無しさん:2009/12/07(月) 23:32:07
>>748馬鹿にしてるのせいぜい1人だろ
幼稚すぎる

781 :デフォルトの名無しさん:2009/12/07(月) 23:54:10
ある意味>>748の想定通りの展開になったと思うw

782 :デフォルトの名無しさん:2009/12/08(火) 00:12:42
十日で800弱レスとか早すぎないか?

783 :デフォルトの名無しさん:2009/12/08(火) 00:35:42
テキストファイルの中から、指定したテキストを検索し、その行数を高速に取得する方法を教えてください。
今は単純に1行目から検索していって、改行コードの数で行数を取得してるんですが、対象データが680万行もあるので、非常に時間がかかります orz


784 :デフォルトの名無しさん:2009/12/08(火) 00:40:19
その対象データによる
固定ならあらかじめ検索できるようにシステムを組むとかね

785 :デフォルトの名無しさん:2009/12/08(火) 01:04:44
鯖100台に割り振れば6.8万行で済む

786 :デフォルトの名無しさん:2009/12/08(火) 01:10:38
CRLFとすると改行だけで13Mw
データの持ち方から検討するレベルだな

787 :デフォルトの名無しさん:2009/12/08(火) 01:12:54
>>783
スレ違いだが、Unixのコマンドを使えば
cat LOG | grep キーワード | wc

で出るよ。
LOGがログのファイル名、キーワードがヒットさせる正規表現。

どうしてもC#でやるというなら、テキストストリームで1行ずつforeachで回すんじゃないかな。

788 :デフォルトの名無しさん:2009/12/08(火) 01:16:09
1ファイルに680万行て一体何のデータだ。

789 :デフォルトの名無しさん:2009/12/08(火) 01:18:29
せめて法則性があれば。
行の頭に1,2,3,4,5・・・と数値を付けておいて、その数値が最初に出てくる行数(n)をあらかじめ規定。
検索するときはn行目から検索、とか。

790 :789:2009/12/08(火) 01:28:07
言葉足らずだった。
行の頭に数値を付けて、あらかじめソートしておくってことで。

791 :デフォルトの名無しさん:2009/12/08(火) 02:13:14
>>783
汎用機から持ってきたデータとか言うのをもらったことがあるけど
そんな感じのでかいテキストデータだったよ

792 :デフォルトの名無しさん:2009/12/08(火) 02:14:48
で?

793 :デフォルトの名無しさん:2009/12/08(火) 02:48:33
俺も、webアクセスログを解析するソフトを一応作ってみたが、
ログデータが渡されるのは1ヵ月毎。
アーチンという解析ツールを使用している。
アーチンはログファイル渡すと、遅くても20分位で解析結果を出してくれる。
高機能なんだけど痒いところに手が届いておらず、
そこんところを自作してみたんだが
多くて800万件(行)ぐらいのものだったけど、
それでも読み込む(データ解析含め)のに3時間くらいかかってしまい、
あえなく挫折。

794 :デフォルトの名無しさん:2009/12/08(火) 03:01:52
テキストエディタで出来たりしないかな

795 :デフォルトの名無しさん:2009/12/08(火) 03:04:19
俺ならもっと速くできる

796 :デフォルトの名無しさん:2009/12/08(火) 03:59:10
StreamReader#ReadLineで1行ずつ読んでるなら、それ以上速くならないだろう。
せいぜいバッファサイズを増やすくらい。
ReadToEndを使ってるならページングで時間を食ってるわけだが、
そんなことはやってないよね?
あとは、同じデータを繰り返し検索するならデータベースを活用するとか。
これも最初のロードに時間がかかるから再利用の頻度によるけど。

797 :デフォルトの名無しさん:2009/12/08(火) 05:58:03
ReadToEnd じゃ OOME 出るだろ。

798 :デフォルトの名無しさん:2009/12/08(火) 07:13:29
readallでいいんじゃない

799 :デフォルトの名無しさん:2009/12/08(火) 08:58:38
キャー富豪的!

800 :デフォルトの名無しさん:2009/12/08(火) 10:14:14
LogParser

801 :デフォルトの名無しさん:2009/12/08(火) 10:25:10
どんなソースか書いてみそ。

ファイルサイズはどのくらい?
で、どのくらい時間がかかってるの?
単にファイルをディスクから読むよりもずっと遅いんだよね?

そうでないなら速くなる余地はない。
頭から調べるやり方を変えられないなら。
1回しか検索しないんならそういう方向で工夫する意味はないしな。

何度も検索するものならやり方を変えてしまうのも手ではある。


802 :デフォルトの名無しさん:2009/12/08(火) 11:28:49
質問です
ButtonコントロールでボタンクリックはOnClickで取れますが
ボタンを凹ました瞬間の適切なイベントは用意されていますか?


803 :デフォルトの名無しさん:2009/12/08(火) 11:30:43
>>795
証拠をみせなさい。

804 :デフォルトの名無しさん:2009/12/08(火) 11:34:22
>>802
MouseDown

805 :デフォルトの名無しさん:2009/12/08(火) 11:59:39
>>804
それでは考慮不足です。
スペースキーで凹ますとイベントが起こりません。
まだ、OnKeyDownやその他ボタンを凹ませる標準的な挙動の
すべてを把握して処理を入れることはやりたくありません。
ボタンが凹んだことを知る適切なイベントを求めています。
よろしくお願いします。

806 :デフォルトの名無しさん:2009/12/08(火) 12:02:42
>>805
少なくともボタンクラスにはそのようなイベントはない。
継承するなりなんなりで自分でつくれ

807 :デフォルトの名無しさん:2009/12/08(火) 12:04:48
>>805
なんでそんなに上から目線なんだよ?笑


808 :デフォルトの名無しさん:2009/12/08(火) 12:08:14
>>806
ありがとうございます。
カスタムコントロールで対応します。

809 :デフォルトの名無しさん:2009/12/08(火) 12:46:52
>>804
pgr

810 :デフォルトの名無しさん:2009/12/08(火) 15:40:16
spy++とかでボタンが凹んだときのウィンドメッセージ調べて
WndProc overrideしてイベント起こすのが楽だと思うが。
と解決した質問にマジレスしてみる。

811 :デフォルトの名無しさん:2009/12/08(火) 15:50:06
質問いいですか?
アプリケーションのウインドウがアクティブになる度にそのプロセス情報を取得することを考えています。
それで、ウインドウがアクティブになると発生するイベントみたいなものはあるんでしょうか?

812 :デフォルトの名無しさん:2009/12/08(火) 15:52:54
別プロセスのメッセージ拾いたいならグローバルフックしかない→C#じゃできない

813 :デフォルトの名無しさん:2009/12/08(火) 16:02:03
× C#じゃできない
○ .net frameworkじゃできない

814 :デフォルトの名無しさん:2009/12/08(火) 16:42:35
俺は他人に教えるの下手だ
このくらい言わなくてもわかるだろ
って思って簡潔にしか説明しなかった部分が、意外とわかってもらえなかったりする。
やっかいだな

815 :デフォルトの名無しさん:2009/12/08(火) 17:00:30
エクスプローラ ライクにフォルダをツリー表示出来る出来合いのコントロールで
いいものありませんかね? できればシェルのメニューがそのまま使えるものがいいです。

codeprojectのwillsonprogrammingなどを試してみましたが、どうもVSのデザイナと
相性がわるいらしく、エラー続出で今ひとつです。

816 :デフォルトの名無しさん:2009/12/08(火) 17:01:03
そういうのも才能いるだろうしなあ。
ある分野で有能な人間が必ずしも有能な教師とは限らない、その逆もしかりってやつじゃない?

817 :デフォルトの名無しさん:2009/12/08(火) 17:58:46
説明するのが面倒な部分は理解も実装も面倒だから聞いた側もなんとなくわかってても省略したくなる
だから一番重要な部分は伝わらないの法則

818 :デフォルトの名無しさん:2009/12/08(火) 18:12:39
プロジェクトリーダの理解→プログラマのコード

みたいだな
紙にするのが一番だ

819 :デフォルトの名無しさん:2009/12/08(火) 18:24:21
>>815
を見てWindows API Code PackのExplorer Browser Controlが思い浮かんだが、
ツリー部分だけの表示にすることはできないみたいだ
http://code.msdn.microsoft.com/WindowsAPICodePack

820 :デフォルトの名無しさん:2009/12/08(火) 21:16:10
画像を同じ色のピクセルごとにいくつつながってるか調べるのにぷよぷよの消去アルゴリズムのように再帰関数使ったらネストがどーたらこーたらっていう問題がでてきました。
ネストって調べたんですがいまいちピンときません。
ただの繰り返し作業だと思うのですが何がいけないのでしょうか?

821 :デフォルトの名無しさん:2009/12/08(火) 21:20:44
abstractクラスとinterfaceをどう使い分ければいいかわからん。
自分でクラスをつくるとき抽象クラスかインターフェースかの違いって重要?

822 :デフォルトの名無しさん:2009/12/08(火) 21:20:51
>>820
本に書いてあることだけで理解できないなら、
実際に動かして考えればいいじゃないか。
目の前のパソコンは何のためにあるんだ。

823 :デフォルトの名無しさん:2009/12/08(火) 21:21:34
>>821
インターフェイスはクラスじゃないよ。
違いは分かるね?

824 :デフォルトの名無しさん:2009/12/08(火) 21:27:22
>>821
(抽象)クラスは複数継承出来ない。そのかわり実装を継承することが出来る。
インターフェースは複数継承出来る。そのかわり実装を継承することは出来ない。


825 :820:2009/12/08(火) 21:29:10
>>822
いや、実際目の前のパソコン使いましてプログラム組んだのですがクラッシュするんですよね
まあ原因は"深度が深くスタックオーバーフローを起こしたから"っていってしまえばそれまでですが、言葉でまとめただけで理解しきってないような感じがして…
なので何か理解の助けになるようなわかりやすい話しをだれかしてくださらないかなというわけです。

826 :デフォルトの名無しさん:2009/12/08(火) 21:32:08
>>825
じゃあ、文字通りの意味じゃないか。スタックを積みながら無限ループしたら、そりゃあスタックがあふれる。

827 :デフォルトの名無しさん:2009/12/08(火) 21:32:35
末尾再帰でも調べてこい

828 :デフォルトの名無しさん:2009/12/08(火) 21:32:40
class A{
int x=10;
}


class A{
int x;
public A(){
x=10;
}
}
は同じですか?

829 :デフォルトの名無しさん:2009/12/08(火) 21:32:59
>>825
ググったらいろいろ出てくるからそれを見るといいんじゃないかな
こんなのとか。
http://sldnoonmoon.hp.infoseek.co.jp/neo/prghabc/d_2.html




830 :デフォルトの名無しさん:2009/12/08(火) 21:34:55
>>827
C#は末尾再帰の最適化は(勝手には)行われないんじゃなかったっけ。
ILを弄らないと駄目だったような気がする。

だからそのググレ指示はいまいち意味がない。


831 :デフォルトの名無しさん:2009/12/08(火) 21:35:37
>>828

うん。

832 :デフォルトの名無しさん:2009/12/08(火) 21:38:30
>>820
再帰なんて高度な話をここの人たちにふっても答えられないよ
>>827みたいな取り敢えず思い付いたこと返答するようなのまでいる始末

833 :デフォルトの名無しさん:2009/12/08(火) 21:40:10
>>826
なるほどスタックが積み上げられるからっていうとなんかイメージわきやすいです。どうもです。

>>827
ぐぐってみましたがよくわかりませんでした/(^o^)\

>>829
おお!これはわかりやすいですね。ありがとうございます

834 :デフォルトの名無しさん:2009/12/08(火) 21:41:05
検索スキルあげたほうがよさそう

835 :デフォルトの名無しさん:2009/12/08(火) 21:42:15
言い換えただけで現実は何も変わっていない
クリックを年寄り向けに”1回押す”と表記したようなもんだな

836 :デフォルトの名無しさん:2009/12/08(火) 21:43:25
再帰が高度ってさすがにそれは・・・
オッサンの俺の世代だって学部一年生のプログラム実習で習った内容だぞ

837 :デフォルトの名無しさん:2009/12/08(火) 21:43:33
最近よくわかんないくせに回答しようとするやつ増えたね

838 :デフォルトの名無しさん:2009/12/08(火) 21:44:18
>>836
皮肉ってわかります?

839 :デフォルトの名無しさん:2009/12/08(火) 21:45:12
>>838
分かってないのは君の方じゃないの?

840 :デフォルトの名無しさん:2009/12/08(火) 21:46:40
>>837
最近も何もずっとそうだろw

841 :デフォルトの名無しさん:2009/12/08(火) 21:46:46
(…つーかこんな程度で図解がないと分からないとかもうね…)

842 :デフォルトの名無しさん:2009/12/08(火) 21:47:22
結局のところ末尾再帰は何が言いたかったんだ?

843 :デフォルトの名無しさん:2009/12/08(火) 21:48:25
>>841
>>768


844 :デフォルトの名無しさん:2009/12/08(火) 21:48:37
>>823-824
違いじゃなくて使い分け方を聞いてるんじゃねーの

845 :デフォルトの名無しさん:2009/12/08(火) 21:49:01
再帰だネストだって言ってるけど単に無限ループしただけだろ

846 :デフォルトの名無しさん:2009/12/08(火) 21:49:34
再帰のロジックを末尾再帰まで持っていけたら、
自分でループに変換するのはそんなに難しくはない。

32bit版ではサポートしてないが、
64bit版の.NETではJITレベルで末尾再帰の最適化をやってくれるらしい。



847 :デフォルトの名無しさん:2009/12/08(火) 21:50:05
だろうけど、聞きたいのはそこじゃないし

848 :デフォルトの名無しさん:2009/12/08(火) 21:50:20
ググるとたくさんでてくるな
「インターフェース 抽象クラス 使い分け」

みもふたもないけどググる先生の方が優秀だよな・・・

849 :デフォルトの名無しさん:2009/12/08(火) 21:51:31
無理してエスパーしようとするから恥かくわけだな

850 :デフォルトの名無しさん:2009/12/08(火) 21:52:28
どうでもいいが初心者に厳しいのはなぜだw。

851 :デフォルトの名無しさん:2009/12/08(火) 21:52:45
普通の無限ループでスタックオーバーフローなんか起きないぞ
再帰の無限ループなら起きるが

852 :デフォルトの名無しさん:2009/12/08(火) 21:55:08
>>851
無知な回答者を責めないであげてください

>>850
>>768

853 :デフォルトの名無しさん:2009/12/08(火) 21:56:25
初心者にはおおむね優しいだろ
常駐してる約数名のバカが、すぐ「ググれ」とか「そのぐらい調べろ」とか
くだらないレスしてるだけ

854 :デフォルトの名無しさん:2009/12/08(火) 21:58:34
良質な解答者が居ないときにあたるとかわいそうだよな

855 :デフォルトの名無しさん:2009/12/08(火) 21:58:37
Windowsにある「ごみばこ」ってあるしょ。
削除したら送られて、もとにももどせるやつ。

C#でゴミ箱にあるすべてのファイルを元に戻すプログラムはどうやればいい?

856 :デフォルトの名無しさん:2009/12/08(火) 22:01:32
>>855
ttp://hpcgi1.nifty.com/MADIA/Vcbbs/wwwlng.cgi?print+200402/04020013.txt

.NETでは出来ないのでWinAPIで操作することになると思う。


857 :デフォルトの名無しさん:2009/12/08(火) 22:02:26
>>855
http://uchukamen.com/Programming1/ToRecycleBin/index.htm

858 :デフォルトの名無しさん:2009/12/08(火) 22:03:37
普通のアンマネージC++で別のexeとして作ってそれを呼び出すだけにした方が
簡単ですっきりする気がする

859 :デフォルトの名無しさん:2009/12/08(火) 22:04:33
>>856-857
どっちもゴミ箱に送ることしか書いてないねぇ

860 :デフォルトの名無しさん:2009/12/08(火) 22:06:13
あほくさ。
くだらないことばっか言ってるとまともな回答者まで離れていくぞ、うざくて。


861 :デフォルトの名無しさん:2009/12/08(火) 22:08:32
>>859
こんなんあったわ
そういや「指定したファイルを戻す」のやり方ってしらないな・・・
http://mtamaki.cocolog-nifty.com/blog/2005/01/post_f992.html

862 :デフォルトの名無しさん:2009/12/08(火) 22:08:58
ゴミ箱から戻す API があるわけじゃないからな。

ゴミ箱のアイテムを列挙して、InvokeVerb() なんてのもありだな。

863 :デフォルトの名無しさん:2009/12/08(火) 22:10:08
>>860
もうだいぶいなくなったよ
せいせいしたわ

864 :デフォルトの名無しさん:2009/12/08(火) 22:11:07
とは言いつつも
昔に比べて質問の頻度は上がってんだよなあこのスレ

865 :デフォルトの名無しさん:2009/12/08(火) 22:11:42
>>860
ナルチシズムを満たすことが出来るから回答者がいなくなることは*絶対に*ありえない

866 :デフォルトの名無しさん:2009/12/08(火) 22:20:05
>>865
「まともな」って前置きされてるのが見えないのかね。
経験上自己陶酔タイプにまともな奴がいるとは俺は思えんがね。

というか、もうとっくにだいぶいなくなってると思う。

867 :デフォルトの名無しさん:2009/12/08(火) 22:22:53
>>866
いるから心配すんな。
お前がいなくてもここはまわるから。

868 :デフォルトの名無しさん:2009/12/08(火) 22:26:09
こんなやり取り今までに何回あったと思ってるのやら。
昨日今日始まったスレじゃないのよ。
こんな調子で50スレ弱も続いてるのよ。

もうとっくにだいぶハイハイワロス

869 :デフォルトの名無しさん:2009/12/08(火) 22:27:21
>>866みたいな中途半端な自治が一番ウザイ

870 :デフォルトの名無しさん:2009/12/08(火) 22:29:28
この手の話になるとスレが無駄に加速するんだよねw

871 :デフォルトの名無しさん:2009/12/08(火) 22:29:38
>>819

これも試してみたんですけれど、今ひとつ使い勝手が悪いですよね。
エクスプローラをそのまま表示出来るのはいいんだけれど、たとえば*.jpgだけ
表示させたいとかフィルタを掛けたりするのがどうしたらいいのかよくわかりません。
検索フォルダ使えってことなんですかねえ…。
どんな時にいったい使うのかよく解らんコントロールです。

872 :デフォルトの名無しさん:2009/12/08(火) 22:31:54
初心者用となってる割にそうでない質問も多いよな
もっとあっちの相談室も使えよ

873 :デフォルトの名無しさん:2009/12/08(火) 22:36:44
相談室だとマッチョな人が多くて怖いんだもん。

874 :デフォルトの名無しさん:2009/12/08(火) 22:37:47
相談室の話はやめれ
また初心者スレいらね、相談室に統一しろって暴れ出すから

875 :デフォルトの名無しさん:2009/12/08(火) 22:44:02
Visual Studio2008でC#4.0の機能(dynamicとか)使う方法ある?教えて
VS2010はVS2008Expressより重くて使いづらい。

876 :デフォルトの名無しさん:2009/12/08(火) 22:56:27
正式版で軽くなることを願う

877 :デフォルトの名無しさん:2009/12/08(火) 22:57:17
ない
今回はCLRもバージョンアップしてるから無理
dynamicも.NET4のライブラリに依存してるし

878 :デフォルトの名無しさん:2009/12/08(火) 23:44:26
>>875
まあ、まだβだから。

軽くなってるところもあるのよ。
スタートページがらみとか、参照の追加窓とか。


879 :デフォルトの名無しさん:2009/12/09(水) 00:12:50
まさかオンボードじゃないだろうな
WPFだからどう頑張ってもグラボ積んでないと話にならない

880 :デフォルトの名無しさん:2009/12/09(水) 00:57:44
>>830
末尾コール最適化はJITコンパイル時に行われる

881 :デフォルトの名無しさん:2009/12/09(水) 01:01:55
いいえ

882 :デフォルトの名無しさん:2009/12/09(水) 01:20:04
プロパティ=変数ではないが、変数みたいな何か
インデクサ=配列ではないが、配列みたいな何か
デリゲート=メソッドではないが、メソッドみたいな何か
イベント=デリゲートではないが、デリゲートみたいな何か
インターフェース=抽象クラスではないが、抽象クラスみたいな何か
参照型=ポインタ型ではないが、ポインタ型みたいな何か
string型=配列ではないが、charの配列みたいな何か

883 :デフォルトの名無しさん:2009/12/09(水) 01:45:14
余計分かりにくくなってないか?w

884 :デフォルトの名無しさん:2009/12/09(水) 01:48:48
デリゲート=関数ポインタではないが、関数ポインタみたいな何か


885 :デフォルトの名無しさん:2009/12/09(水) 02:20:43
XmlSerializerの使い方をいろいろと試しています
・MSDNには「Listの配列をシリアル化・逆シリアル化できない」と書いてありますが、
( http://msdn.microsoft.com/ja-jp/library/system.xml.serialization.xmlserializer(VS.80).aspx )
List<自作クラス>で試してみたところシリアル化も逆シリアル化もうまくいってるみたいです。
MSDNにこう書いてある理由、無視して使った場合の制限・落とし穴などはありますか?

・例えばList<自作クラス>をシリアライズした時、
<ArrayOf自作クラス (XML宣言略)>
 <自作クラス>…
 <自作クラス> …
 <自作クラス> …
と出力されます。
<ArryayOf自作クラス>部分の名前を変えるには
XmlSerializerのコンストラクタにXmlRootAttributeを指定すればいいことが分かりました。
<自作クラス>部分の名前を変えるにはどうすればいいでしょうか?

886 :デフォルトの名無しさん:2009/12/09(水) 03:10:16
たぶん自作クラスの上に↓のように書けば行けると思う
[XmlType("自作クラス")]
クラス内の特定のフィールドやプロパティを独自の名前にしたい場合は
[XmlElement("自作クラス")]
こんなんだったかな
うろ覚えだからちょっと試してみてよ

887 :デフォルトの名無しさん:2009/12/09(水) 04:50:19
HAVAL、RIPEMD128等のハッシュ関数を網羅したライブラリありませんか?

888 :デフォルトの名無しさん:2009/12/09(水) 05:03:05
.NET Framework にはないんじゃね
そんなハッシュ関数危ないから今後は使われることもないだろうし
オープンソースとかで求めてるのなら自分でググれ

889 :デフォルトの名無しさん:2009/12/09(水) 08:06:43
>>885
そりゃList<T>はListであってListの配列じゃないだろ

890 :デフォルトの名無しさん:2009/12/09(水) 08:53:30
int型の2次元配列があります。その中で数字が1のデータを取り出して、
その中からランダムに1つ選んで0にするという処理をしようと思います。

1. すべての要素をチェックして1のデータの数を数える(例:50個)
2. その中からランダムに1つ選ぶ(例:23番目)
3. 要素の先頭からチェックして1のデータの23番目を0に変える

1についてはLINGとかFindメソッド?なんかを使えば簡単にできそうです。
問題は3で、もう少しスマートにやる方法はありませんか?

891 :デフォルトの名無しさん:2009/12/09(水) 09:09:42
var q = (
from y in Enumerable.Range(0, a.GetLength(1))
from x in Enumerable.Range(0, a.GetLength(0))
where a[y, x] == 1
select new { X = x, Y = y }
).ToArray();
var rx = q[randomIndex].X;
var ry = q[randomIndex].Y;
a[ry, rx] = 0;


892 :デフォルトの名無しさん:2009/12/09(水) 09:10:23
1行コピり忘れ。
var randomIndex = rnd.Next(0, q.Length - 1);


893 :デフォルトの名無しさん:2009/12/09(水) 09:24:49
どうせなら、rndの宣言もコピってやれよw

894 :890:2009/12/09(水) 12:41:55
LINQは便利なんだろうな・・・とは思っていましたが、そこまで「使える」ものだとは思っていませんでした。
それで試してみます。ありがとうございました。

895 :デフォルトの名無しさん:2009/12/09(水) 12:45:03
LINQ使うつもりなら2次元配列なんか使うな
相性が悪い

896 :デフォルトの名無しさん:2009/12/09(水) 12:53:19
LinQはなんか暗黒面すぎる

897 :デフォルトの名無しさん:2009/12/09(水) 13:16:52
2次元に無理矢理LINQ使おうとするから>>891はわかりにくいんだよ
>>890の例に限って言えば素直にforで回すべきだ

898 :デフォルトの名無しさん:2009/12/09(水) 13:26:25
三項演算子の覚えたてとか
なんでも一行で書きたい病みたいにならないようにな。

899 :デフォルトの名無しさん:2009/12/09(水) 13:28:53
複数の文を無理やり一行にしちゃうとわかりづらいが
一行でかけるものは一行でかくほうがいいけどな

if(なんとか){
なんとか
}
else(なんとか){
なんとか
}

?演算子で一行でかけるものをこんな風にかくやつはアホ

900 :デフォルトの名無しさん:2009/12/09(水) 13:30:20
「なんとか」による
何でもかんでも?:に入れようとするのもアホ

901 :デフォルトの名無しさん:2009/12/09(水) 13:47:45
>>899
うわぁ

それ典型的な三項演算子覚えたて病

902 :デフォルトの名無しさん:2009/12/09(水) 13:50:08
三項演算子が気持ちいい人はたぶんPerl覚えた方が幸せになれると思う

903 :デフォルトの名無しさん:2009/12/09(水) 13:54:33
えー?
むしろ、

if (...)
 a = ...;
else
 a = ...;

が、典型的な三項演算子使えない病だろ。

904 :デフォルトの名無しさん:2009/12/09(水) 13:56:46
>>903
だから「a = ...;」によるつってんだろ

905 :デフォルトの名無しさん:2009/12/09(水) 13:59:44
そりゃまぁifの中にifがあったりelseifがいっぱいあるような複雑な条件分岐をするなら?使うより良いこともあるが
まさかそんな当たり前な例で「場合による」とか言ってるの?

906 :デフォルトの名無しさん:2009/12/09(水) 14:11:42
初心者スレなんだから
こんな状況になったらこれを使え
みたいに形式的にやらせりゃいいんだよ。
覚えたてでなんでもかんでもそれを使う?いいじゃないか別に。
上級者様のテクニックを初心者に薦めるなよ。

907 :デフォルトの名無しさん:2009/12/09(水) 14:12:37
それくらいしか想像できない君にはそれでいいよ

908 :デフォルトの名無しさん:2009/12/09(水) 14:19:46
>>896
BenQのように見えた

909 :デフォルトの名無しさん:2009/12/09(水) 14:35:33
C#で使える時間ってmillisecondが最小単位?
DateTime構造体をみるとミリ秒が最小単位らしいがもっと細かい時間のクラスとかある?

910 :デフォルトの名無しさん:2009/12/09(水) 14:39:41
evet に += でデリゲートを登録できますが
登録を解除するには一個一個 -= していくしかないのでしょうか?
すべての登録をクリアする方法とかありますか?

911 :デフォルトの名無しさん:2009/12/09(水) 14:43:07
新しく何も入ってないのを作ってそれを代入すりゃいいんじゃね

912 :デフォルトの名無しさん:2009/12/09(水) 14:48:51
>>905
if (a)
{
  b = 1;
}
else
{
b = 2;
}

こんな感じでaの部分や{}の中身が単純なら三項演算子でもいいけど、
それが長くなるとか複雑ならif文の方が見やすいんじゃない?ってことだとおもうけど。

913 :デフォルトの名無しさん:2009/12/09(水) 14:59:43
>>911
event を定義してるクラス内で
イベントメンバ?に null を代入できました
ありがとうございました

914 :デフォルトの名無しさん:2009/12/09(水) 14:59:55
どうでもいいことで相手を病気とかののしったりする割りに
>>909-910みたいな初心者の質問にはまともに答える人がいないスレ。

915 :デフォルトの名無しさん:2009/12/09(水) 15:06:46
>>909
DateTimeやTimeSpanの最小単位は100ns。Ticksプロパティで取得できる。
MicroSeconds とかとして取得するのは計算が必要だな。

916 :デフォルトの名無しさん:2009/12/09(水) 15:17:36
>>909
精度の話なら、最も正確なのはStopwatchクラス

917 :デフォルトの名無しさん:2009/12/09(水) 15:32:57
>>916
StopWatchより上の精度ならAPI使って工夫して自分でやるしかなかったと思う
一応マイクロ秒程度までは取れないことはなかったはず


918 :デフォルトの名無しさん:2009/12/09(水) 15:44:23
僕は胸の大きな女性よりも、きれいな形をしてればふつうの大きさのおっぱいのほうが好きです

919 :デフォルトの名無しさん:2009/12/09(水) 15:45:07
おっぱいがでかくてきれいな形をしていた場合はどうなるんだ?

920 :デフォルトの名無しさん:2009/12/09(水) 15:45:47
その場合は考えていませんでした。
プログラミングをするものとして失格でした。

921 :デフォルトの名無しさん:2009/12/09(水) 15:45:51
それはそれでもっと好き

922 :デフォルトの名無しさん:2009/12/09(水) 15:46:28
おっぱいにしろプログラミングにしろ想定内に収めなきゃ。

923 :デフォルトの名無しさん:2009/12/09(水) 15:47:11
その文おかしいですね
おっぱいは想定内に収めるって意味わかんないですよ

924 :デフォルトの名無しさん:2009/12/09(水) 15:48:27
わざと、変な文にしたんだが・・・・

925 :デフォルトの名無しさん:2009/12/09(水) 15:49:37
ここまで俺の自演

926 :デフォルトの名無しさん:2009/12/09(水) 15:50:11
そうだったのですね。僕はとてもこだわる人なので。
ちなみにクリスマスの彼女のおっぱいはDカップです
去年はFカップのカップラーメンでした
その前の年は一人オナニー大会でした

927 :デフォルトの名無しさん:2009/12/09(水) 15:57:41
貧乳の良さがわからんとは

928 :デフォルトの名無しさん:2009/12/09(水) 16:04:53
Stopwatchが一番解像度は高いんじゃない?
ただ、こいつは取得がちょっと重いので注意。
ってもせいぜい数マイクロ秒以下だったとは思うが。


929 :デフォルトの名無しさん:2009/12/09(水) 16:17:32
賢人のみなさんに質問です。
NPlotで散布図を作成しました。
これから折れ線グラフの様にポイントを順に繋げたいのですがどうすればいいでしょうか?
以下は散布図作成ソースです。

NPlot.PointPlot PointPlot1 = new NPlot.PointPlot();
int[] intData = {98, 99, 120, 110, 100, 99, 122, 97, 96, 100};
DateTime[] dateAbs = {Convert.ToDateTime("2007/5/1"),
Convert.ToDateTime("2007/5/2"),
Convert.ToDateTime("2007/5/3"),
Convert.ToDateTime("2007/5/4"),
Convert.ToDateTime("2007/5/5"),
Convert.ToDateTime("2007/5/6"),
Convert.ToDateTime("2007/5/7"),
Convert.ToDateTime("2007/5/8"),
Convert.ToDateTime("2007/5/9"),
Convert.ToDateTime("2006/5/10")};
PointPlot1 .Label = "Line1";
PointPlot1 .DataSource = intData;
PointPlot1 .AbscissaData = dateAbs; //-- (6)
//PointPlot1 .Pen.Color = Color.Green;
this.plotSurface2D1.Add(PointPlot1 );

930 :デフォルトの名無しさん:2009/12/09(水) 16:23:40
画像をアスペクト比で分類するというプログラムを作りたいんですが、
解像度の取得方法がいまいちわからないので教えてください

931 :デフォルトの名無しさん:2009/12/09(水) 16:24:59
doubleって小数をいっぱいたすと(+0.05を10万回やるとか)誤差がでるが
整数のしか計算しない場合でも何万回もやると誤差でることってある?

932 :デフォルトの名無しさん:2009/12/09(水) 16:34:15
>>930
Image.FromFileで読み込んでWidthとHeightを取得

933 :デフォルトの名無しさん:2009/12/09(水) 16:40:28
>>930

>>932
せめてImageInformation.FromFile()を使うようにアドバイスしてあげようよ。

934 :デフォルトの名無しさん:2009/12/09(水) 16:47:17
ああ、確かにすまん。

935 :デフォルトの名無しさん:2009/12/09(水) 16:48:22
>>931
精度を気にしているのにdecimalを使わない理由は何なんだ?

936 :デフォルトの名無しさん:2009/12/09(水) 16:49:19
ImageInformationとかいうのは標準ライブラリにないし

>>931
いっぱい足すまでもなく0.05自体に誤差があるが
15桁ぐらいまでの小さめの整数値なら誤差なく表現できる

937 :デフォルトの名無しさん:2009/12/09(水) 17:00:40
>>936
ああ……すまなかった。
てっきり標準ライブラリだと思ってたら、SlimDXの機能だった。

じゃあ、これならどうだ。
Microsoft.DirectX.Direct3D.ImageInformation TextureLoader.ImageInformationFromFile(String)

Managed DirectXなら、DirectX Redistでインストールされる。
Vista以降なら標準で入ってるんじゃないかな。

標準で、ってことになると、やっぱり一旦Imageにするしかないんだろうか?

938 :デフォルトの名無しさん:2009/12/09(水) 17:07:52
>>917
Stopwatch以上のものはない
内部でQueryPerformanceCounter使ってるからAPI使っても無駄

939 :デフォルトの名無しさん:2009/12/09(水) 17:12:47
>>329
サンプルくらいあるだろ?
いくらC#だからといってサードパーティのライブラリの使い方はスレ違いだ

940 :デフォルトの名無しさん:2009/12/09(水) 17:13:13
タイマーの精度は言語じゃなくてOSの仕様。「C#で使える」物は他の言語でも使える。
で、XPよりはVistaの方が精度の高いAPIが用意されてるそうだ。

941 :930:2009/12/09(水) 17:15:25
>>932,933,936,937
返答ありがとうございました
やってみてダメだったらまた相談させてください

942 :デフォルトの名無しさん:2009/12/09(水) 19:48:47
>>909
誰も言わないのであえて言うけど、
タイマーの物理的な精度が仮にnsとかμsのオーダーであっても、本当はあまり意味がないんだよね。

どうせOS上のプロセスなんて普通はmsオーダーでタイムスライスされてるんだから。

せいぜい100ms程度しか意識できない人間にms単位で計れるストップウォッチ
持たせても意味がないのと同じ意味で。

943 :デフォルトの名無しさん:2009/12/09(水) 20:00:50
リアルタイムOS上で動くCLRとかあるんだろか?

944 :デフォルトの名無しさん:2009/12/09(水) 20:04:07
>>943
WindowsCE無視しないで下さい
無視しないで下さい

945 :デフォルトの名無しさん:2009/12/09(水) 20:17:31
無視

946 :デフォルトの名無しさん:2009/12/09(水) 20:24:12
>>886
ありがとうございました
望み通りの出力をさせることができました

>>889
List<T>[] ってことなんですね

947 :デフォルトの名無しさん:2009/12/09(水) 20:57:16
>>942
人間の短距離走でms計っても意味ないよね。
まあ計りたいこととタイムスライスは関係ないこともあるわな。
意味ないことはもちろんあるけど。


948 :デフォルトの名無しさん:2009/12/09(水) 21:37:53
ちなみに100ms程度までしか認識できないというのは
何か科学的根拠ありますか?

949 :デフォルトの名無しさん:2009/12/09(水) 21:39:50
パチンカスなんて、驚く精度で反応するしな

950 :デフォルトの名無しさん:2009/12/09(水) 21:40:15
科学的根拠…?

951 :デフォルトの名無しさん:2009/12/09(水) 22:06:39
科学的根拠wwwwww

952 :デフォルトの名無しさん:2009/12/09(水) 22:07:24
 科 学 的 根 拠 ! ?

953 :デフォルトの名無しさん:2009/12/09(水) 22:08:57
俺も童貞という言葉に光の速さで反応します

954 :デフォルトの名無しさん:2009/12/09(水) 22:09:08
w科学的根拠w
 w科学的根拠w
  w科学的根拠w
   w科学的根拠w
    w科学的根拠w
     w科学的根拠w
      w科学的根拠w
       w科学的根拠w
        w科学的根拠w

  w  科  学  的  根  拠  w

955 :デフォルトの名無しさん:2009/12/09(水) 22:10:26
反応しすぎだろJK

956 :デフォルトの名無しさん:2009/12/09(水) 22:13:00
ん?悔しかったの?

957 :デフォルトの名無しさん:2009/12/09(水) 22:23:47
しかし、ディスプレイのリフレッシュレートをベースにしたら、
60FPSの場合で16.6ms。
最近出始めてる120Hzの液晶ディスプレイなら8.33msだ。
それなのに、System.Threading.Thread.Sleep()だと1ms単位でしか待てないんだよな。
微妙に処理が速く終わって次のvsyncを待たないといけないとき、
時々乱れることがあるのが今悩んでることのひとつ。

958 :デフォルトの名無しさん:2009/12/09(水) 22:25:32
仮想リストビューの残像は酷い

959 :デフォルトの名無しさん:2009/12/09(水) 22:26:47
>>957
空き時間を空ループさせなきゃならなくてCPU使用率が半端なくなる
これは俺のせいかな?

960 :デフォルトの名無しさん:2009/12/09(水) 23:10:47
>>957
大昔のMZ-80(CRTの走査線が最終ラインからホームに戻る時間内にVRAMにアクセスする必要があった)
でもないだろうに、そもそも画面のリフレッシュに同期して処理する必然性が
本当はないんじゃないかと思うんだけど。

っていうか、ダイナミック点灯してるわけでもない液晶を120Hzで更新ってのも
なんだか必然性が怪しいな。

液晶の業界も飽和状態で意味のないスペック競争に突入してるのかな。

961 :デフォルトの名無しさん:2009/12/09(水) 23:19:35
C#も言われてるほど遅くないな
わりと複雑な微分方程式とか一瞬で解いちゃったよ

962 :デフォルトの名無しさん:2009/12/09(水) 23:21:12
帰線区間にしか出来ない操作があるわけじゃない、っていうか、
そもそも帰線区間自体がないしな。

963 :デフォルトの名無しさん:2009/12/09(水) 23:21:55
しかし120hzだなんて中途半端なFPS選ぶとは…
100hzでいいよね

964 :デフォルトの名無しさん:2009/12/09(水) 23:36:17
>>960
懐かしいなおいw
画面に _ みたいなノイズが乗るんだよね

965 :デフォルトの名無しさん:2009/12/09(水) 23:38:48
C#は遅く無いとかいって
遅いと思ってた時期があったのかと思うと笑いが止まらん

966 :デフォルトの名無しさん:2009/12/09(水) 23:42:49
初回起動は遅い

967 :デフォルトの名無しさん:2009/12/09(水) 23:50:36
>>963
100Hzのほうが中途半端

968 :デフォルトの名無しさん:2009/12/09(水) 23:53:08
>>967
12進法文化圏の人?

969 :デフォルトの名無しさん:2009/12/10(木) 00:01:05
多変量解析等の統計関数を扱ったフリーのライブラリってありませんか?
それかRをC#から使う方法がわかれば教えてもらえないでしょうか?

970 :デフォルトの名無しさん:2009/12/10(木) 00:13:44
>>968
100HzなんてCRTでしか聞いたことないんだが。

971 :デフォルトの名無しさん:2009/12/10(木) 00:19:16
>>961
数値計算系はネイティブと比べて9割以上のスピード余裕で出るよ。

遅くなるかもしれないのはやたらとガベコレ働くようなコード書いたとき。
あと、初回起動時。


972 :デフォルトの名無しさん:2009/12/10(木) 00:21:20
>>970
どうでもいいけど、「なぜ」(120Hzという数字が選択されている理由は何か)を問うているんであって、
「何があるか」(現実の製品のリフレッシュレートのラインアップはどんなか)
の話をしているんじゃないでしょ?

973 :デフォルトの名無しさん:2009/12/10(木) 00:21:21
一次方程式を自動で解くプログラムを作るには
どうプログラムすればいいですか?原理だけ教えて貰えませんか

974 :デフォルトの名無しさん:2009/12/10(木) 00:22:11
>>972
そりゃ簡単な話、60Hzの2倍だから。

975 :デフォルトの名無しさん:2009/12/10(木) 00:23:26
>>973
1元なら単なる四則演算。
2元以上なら線形代数の問題じゃないの?

976 :デフォルトの名無しさん:2009/12/10(木) 00:36:19
>>969
自己レス
ttp://www.codeproject.com/KB/cs/RtoCSharp.aspx
COM経由でRを使えるみたい

977 :デフォルトの名無しさん:2009/12/10(木) 03:32:58
単純な陽関数を積分するプログラムを考えてみた。
f(x)=x^2とかf(x)=x^3+3x^2+4x-2
みたいなの。

積分クラス
二つの実数とひとつの関数を引数にしてリターンで積分を戻すメソッド

たとえばx=-1からx=3まで積分するんだったら
sekibun(-1, 3, x^2+3x^2+4x-2)
みたいな感じでできないかなぁ
だれかやり方しらん?

978 :デフォルトの名無しさん:2009/12/10(木) 05:07:16
VC#2008を使い始めたのですが、
コードエディタのしおりのCtrl+B + Ctrl+Tなどが使いにくいので
キーをカスタマイズすることはできないのでしょうか?

よろしくお願い致します。

979 :デフォルトの名無しさん:2009/12/10(木) 07:20:34
あと、編集中の行の背景色を変える
編集した行の行番号の色を変える
ということはできないでしょうか?
よろしくお願い致します。

980 :デフォルトの名無しさん:2009/12/10(木) 08:03:02
ツールメニューのオプションに[フォントおよび色]というのが出てくるからそこで変えられる。

981 :デフォルトの名無しさん:2009/12/10(木) 08:19:21
C#で業務システムを製作しています。
メインのフォーム内に、必要に応じて開閉するパネルを置き、その中でデータグリッドビューを配置していますが、マウスのホイールが効きません。
私のパソコンはWindowsXPです。

ただし別のWindowsVistaのパソコンではホイールが効きます。

.net3.5を使用しています。

なぜでしょうか。
よろしくお願いします。

982 :デフォルトの名無しさん:2009/12/10(木) 08:45:38
>>957
Sleepの時間指定なんて大枠でしか意味ないよ。
1ms待つんじゃなくて、最低1msスケジューリングを止めるだけだから。
他にスケジュールされてるスレッドがなけりゃほぼすぐに再開できるが。
止める時間もtimeBeginPeriod 呼ばなきゃデフォは15ms単位くらいだし。


983 :デフォルトの名無しさん:2009/12/10(木) 09:03:50
なんでmathクラスとかには複素数のクラスや構造体がないんだよ
どうでもいいクラス作るくらいなら複素数つくってくれよな

984 :デフォルトの名無しさん:2009/12/10(木) 09:08:41
C#にはC言語の#defineみたいなこと機能どうやんの?

いちいちmath.PIとかかくのめんどうだからdefine PI math.PIみたいにしたいんだが。

985 :デフォルトの名無しさん:2009/12/10(木) 09:15:22
public static readonly double PI = Math.PI;
マクロは絶滅しろって設計者が切れてたから無い

986 :デフォルトの名無しさん:2009/12/10(木) 09:16:38
使いたいクラスでスタティックもしくはインスタンスフィールドとして実装しなおす以外に無いです
不便だと思うのならCを使い続けるかVB.NETの利用を検討してください

987 :デフォルトの名無しさん:2009/12/10(木) 09:23:50
using System.Math.*; とか出来たらいいのにね。

988 :デフォルトの名無しさん:2009/12/10(木) 09:25:32
いちいちMathとか付けないといけないの
ださいよね

989 :デフォルトの名無しさん:2009/12/10(木) 09:26:37
俺はクラス名もthisも省略しないので別にどうとも思わない

990 :デフォルトの名無しさん:2009/12/10(木) 09:39:35
まあ設計者の趣味の問題だからどうにもならない。
そういうもんだと思っておけばいいさ。

もしくは、C#用のプリプロセッサでも作ったらいいかもね。
あれも一応汎用性あるプログラムだし。

991 :デフォルトの名無しさん:2009/12/10(木) 09:41:21
>>990
もともと #define とかは存在するわけだが
##defineとかやるのか?

992 :デフォルトの名無しさん:2009/12/10(木) 09:42:46
VS使えなくなるじゃん
冗談じゃない

993 :デフォルトの名無しさん:2009/12/10(木) 09:44:00
>>992
だからそういうの作る人がいないわけだと思う。
インテリセンスのこと考えると記述量がちょっと増えるぐらいヘでもないんだよな。


994 :デフォルトの名無しさん:2009/12/10(木) 09:57:32
次ぎ立てて来るからシャラップ

995 :デフォルトの名無しさん:2009/12/10(木) 10:00:06
ume

996 :デフォルトの名無しさん:2009/12/10(木) 10:01:06
ふらっとC#,C♯,C#(初心者用) Part50
http://pc12.2ch.net/test/read.cgi/tech/1260406838/

OK

997 :デフォルトの名無しさん:2009/12/10(木) 10:17:26
うめなので雑談・・

Mathなどが省略できるようにとJavaではstatic importが使えるようになったが、
使ってるところ見たことないよ(笑


998 :デフォルトの名無しさん:2009/12/10(木) 10:17:53
>>983
.NET4でComplexクラスが追加される

999 :デフォルトの名無しさん:2009/12/10(木) 10:21:18
>>997
他人に見せるソースでそんな事したら見にくくて仕方ないだろ・・・

1000 :デフォルトの名無しさん:2009/12/10(木) 10:21:20
>>979
編集した行は黄色いマークが付かない?

編集中の行を強調表示するのは無いから
SlickEdit Gadgetsを使ってみるとか・・・?
Expless版では使えないけど。

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

207 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)