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

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

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

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

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

■関連スレ
C#, C♯, C#相談室 Part60
http://pc12.2ch.net/test/read.cgi/tech/1277576240/
VB.NET質問スレ(Part34)
http://pc12.2ch.net/test/read.cgi/tech/1270998481/
くだすれC++/CLI(初心者用)part2
http://pc12.2ch.net/test/read.cgi/tech/1268613679/

■備考
コードの量が多い場合は下記サイトを使うなどしたほうがいいかも
http://ideone.com/
コードを貼り付けてRun codeのチェックをはずしてsubmitボタンを押すと
コードを鯖側にアップして専用のアドレスが発行されます。

直接貼る場合は下記サイトなどを利用してhtmlエンコードした方が
インデントも残って見やすいです
http://kawama.jp/php/encode_html.php
2デフォルトの名無しさん:2010/06/27(日) 12:15:54
3デフォルトの名無しさん:2010/06/27(日) 12:42:32
Sun day
4デフォルトの名無しさん:2010/06/28(月) 21:45:45
foreach
5デフォルトの名無しさん:2010/06/29(火) 00:38:26
GoSub Return
6デフォルトの名無しさん:2010/06/29(火) 10:39:50
System.Net.Sockets.SocketでCSテストしてたんだけど
receiveの戻りが0byteなら終了と判定してたら
接続直後にたまに0byteが帰ってきていきなり切れたと判定される
だから例外が発生したら終了判定しようとしたら
相手のsocket.Closeを呼び出しても例外が発生しない

いったいどうすれば?
7デフォルトの名無しさん:2010/06/29(火) 12:55:44
受信メールのライブラリがないって聞いたんだけど、どうすればいいの(´・ω・`)

メール受信ソフトはつくれないの?
8デフォルトの名無しさん:2010/06/29(火) 12:59:45
>>7
ttp://codezine.jp/article/detail/477?p=1
だるいならBASP21使えば?
97:2010/06/29(火) 13:07:41
あ、どうも>>9

自前で組むこともできるんですね。また、商用で売ってるんですね。
ライブラリを買ってみようかな・・

どうもありがとう。
107:2010/06/29(火) 13:09:40
ああ、BASP21っていうのは、無料だ・・

失礼しました。
11デフォルトの名無しさん:2010/06/29(火) 15:14:14
何この痛い子
12デフォルトの名無しさん:2010/06/29(火) 16:56:43
(´・ω・`)・・
13デフォルトの名無しさん:2010/06/29(火) 17:57:49
ニコニコとツベは擬似スとリーミングだからレンジ指定してダウンロードすれば
いいんだろうけどシークバーの単位は時間だからなあ
頭から順次再生だとそれほど問題にはならないだろうけど
シークバーを動かして途中から再生の場合は指定した時間が
動画データのどの辺から始まるのかという情報を持ってないと
厳しいかもね
あれってどうやってるんだろう
14デフォルトの名無しさん:2010/06/29(火) 17:58:49
ああああ
書き込むスレ間違えた
>>13は無視してw
15デフォルトの名無しさん:2010/06/29(火) 20:29:49
DOMについて勉強したいのですがいいサイトってありますか?
16デフォルトの名無しさん:2010/06/29(火) 20:36:12
17デフォルトの名無しさん:2010/06/29(火) 20:36:41
DOMにも色々ある
18デフォルトの名無しさん:2010/06/29(火) 20:44:00
じゃ、リックドムでお願いします。
19デフォルトの名無しさん:2010/06/29(火) 23:47:37
VS2010ってC# Ver.4.0の新機能使えますか?
使えるならこの機に載せ替えようかと思うんですが
20デフォルトの名無しさん:2010/06/29(火) 23:52:10
当然使えます。
21デフォルトの名無しさん:2010/06/29(火) 23:57:27
即レスありがとう
明日にでも買ってこよう
22デフォルトの名無しさん:2010/06/29(火) 23:58:44
使えるけどdynamicやジェネリックの共変反変は.NET4必須
あとはCOM interop専用
23デフォルトの名無しさん:2010/06/30(水) 00:08:43
主に使いたいのがオプション引数や名前付き引数だったんです
dynamicとかCOM相互運用とかはまだ分かってないド素人ので、そっちも追々使えるようになりたいです
24デフォルトの名無しさん:2010/06/30(水) 00:13:48
オプション引数や名前付き引数はCOM相互運用のために仕方なく追加されたんだよ
あんまり積極的に使うもんじゃない
25デフォルトの名無しさん:2010/06/30(水) 02:25:17
すいません、質問です。

Form1ウィンドウからボタンをクリックして、Form2のウィンドウを表示させたいのですが、どうプログラムを組んだらよいのでしょう?
これだけじゃ分りにくいかもしれませんが、アドバイスお願いします。
26デフォルトの名無しさん:2010/06/30(水) 02:55:39
そのまま書くだけだが……。何が分からないのかさっぱり分からん。
27デフォルトの名無しさん:2010/06/30(水) 07:07:28
Form2 f2 = new Form2();
f2.Show();

これだけなんだけどもっと違うことがしたいの?
28デフォルトの名無しさん:2010/06/30(水) 10:00:33
>>27
そうです(´・ω・`)
29デフォルトの名無しさん:2010/06/30(水) 12:14:43
なにがわからないの?
30デフォルトの名無しさん:2010/06/30(水) 12:20:23
なにがわからないのかわからないの?
31デフォルトの名無しさん:2010/06/30(水) 12:49:48
もうなにもわからない!ぼくはだれなの?ここはどこなの?!
32デフォルトの名無しさん:2010/06/30(水) 13:00:17
きみはうんこ、そこはべんき
33デフォルトの名無しさん:2010/06/30(水) 13:01:33
おいすぃぃぃ!!!!うんこおいすぃぃぃのお”お”お”ぉぉぉぉ!!!
34デフォルトの名無しさん:2010/06/30(水) 13:26:05
この状況、どうすればいいの(´・ω・`)
35デフォルトの名無しさん:2010/06/30(水) 14:41:36
お兄ちゃん、らめぇぇ そこは、おしっこしゅゆところよ
36デフォルトの名無しさん:2010/07/01(木) 01:37:33
便器ウマー!!
37デフォルトの名無しさん:2010/07/01(木) 01:55:56
なにこのスレ怖い
38デフォルトの名無しさん:2010/07/01(木) 02:03:14
こわくないよ、おいで
39デフォルトの名無しさん:2010/07/01(木) 02:05:58
ピクチャーボックスの中で円を描画する。
その円を動かしたい。
操作はキーボード上でもマウス上でも、どちらでも構いません。
だれか動かし方を教えてください。
40デフォルトの名無しさん:2010/07/01(木) 02:54:10
ピクチャーボックスのマウスムーブイベントで処理した例

private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
{
Graphics g = pictureBox1.CreateGraphics();
g.Clear(Color.White);
g.DrawEllipse(Pens.Black, e.X - 30, e.Y - 30, 30, 30);
g.Dispose();
}

あくまで例だからね
41デフォルトの名無しさん:2010/07/01(木) 14:09:55
using使えよ
それと画面クリアしちゃったらイライラ棒にはならんぞw
42デフォルトの名無しさん:2010/07/01(木) 17:59:29
>>40
こういうのを見るといつも思う
「で、最終的にそのコードでやるやつなんて居るの?」ってw

結局ちらつき防止でダブルバッファとかやるわけで
そんな糞コードを教えて何の意味があるのか分からん
MSDNも含めてw
43デフォルトの名無しさん:2010/07/01(木) 18:20:07
ピクチャーボックスの中で円を描画し、その円を動かしたい
操作はキーボードでもマウスでも、どちらでも構わない

要件は100%満たしてるなw
44デフォルトの名無しさん:2010/07/01(木) 20:35:37
んだ
45デフォルトの名無しさん:2010/07/02(金) 05:25:25
>>42
かわりのコードをみせてやればあ〜
46デフォルトの名無しさん:2010/07/02(金) 17:02:59
C#からCで書かれた関数(DLL)にアクセスする必要がありますが
Cの関数から構造体をポインタで受け取り、C#側で処理してまたポインタで結果を返す

というのはぶっちゃけ可能なんでしょうか?
C#はまだ勉強を始めたばかりで、ポインタは使用しないほうがよいと言われたのですが・・・
47デフォルトの名無しさん:2010/07/02(金) 17:05:14
そりゃ不可能じゃないが
ポインタ使わずとも可能なケースもある
48デフォルトの名無しさん:2010/07/02(金) 17:21:26
C#->文字列に変換->仲介DLL->構造体に変換->DLL
とかすれば頭使わなくていい
49デフォルトの名無しさん:2010/07/02(金) 18:04:15
>>46
アンマネージで確保して呼び出せば行ける
流れとしては
1.C#で構造体を作成
2.アンマネージメモリを確保
3.C#の構造体をアンマネージメモリに展開
4.アンマネージメモリのポインタをDLLに渡して呼び出す
5. 戻ってきたアンマネージメモリをC#構造体に展開
6. アンマネージメモリを解放

MCIにアクセスするライブラリを作ったけどかなり苦労した
50デフォルトの名無しさん:2010/07/02(金) 18:06:50
>>46
追加
これは他の方法でやった手法だけど
C++/CLIでラップDLLを作る方が楽かもしれない
C++の構造体もそのまま定義してアクセス出来る
結局はC#側にはそのままでは渡せないので
マネージ型の構造体に展開する必要はあるけど
51デフォルトの名無しさん:2010/07/02(金) 19:45:15
>>46
元の関数がよっぽど変な仕様でない限り、ポインタなんか使わなくても可能。
C#側からは構造体の参照渡しに見える。
ポインタとの相互変換はランタイムが勝手にやる
52デフォルトの名無しさん:2010/07/02(金) 19:51:41
typedef struct {
  int x;
  int y;
} HOGE;

int WINAPI hage(HOGE *p);

たとえばこういう関数をエクスポートしているDLLがあるとしたら、C#側では、

[StructLayout.Sequential]
struct HOGE {
  public int x;
  public int y;
}

[DllImport("hoge.dll")]
static extern int hage(ref HOGE p);

こんな風に構造体とメソッドを定義して、普通に構造体を渡せばOK。
53デフォルトの名無しさん:2010/07/02(金) 19:58:59
そのくらいなら、P/Invokeでいけるでしょ。
54デフォルトの名無しさん:2010/07/02(金) 20:13:13
(´ω`)(´・ω・`)
55デフォルトの名無しさん:2010/07/02(金) 20:13:52
>>52
冗談ですよね?
56デフォルトの名無しさん:2010/07/02(金) 20:16:17
>>55
は?ケンカ売ってんのか?
57デフォルトの名無しさん:2010/07/02(金) 20:29:20
ソースまで書いてる奴に別解提示せずに馬鹿にする奴何なの?
58デフォルトの名無しさん:2010/07/02(金) 21:13:53
List<*> list = class.GetList();
でGetListはすでに中身があるメンバを返すだけなんだけど
これでlist[0].flg = 1;ってやるとメンバの方にも反映されるの?
反映させたいんだけど出来るの?
59デフォルトの名無しさん:2010/07/02(金) 21:24:44
>>56
いやー、マネージメモリはGCが管理しててころころ移動したりするから使えないと思ったけど
違ったかな?
60デフォルトの名無しさん:2010/07/02(金) 21:42:38
>>58
中身が参照型なら出来るだろ
61デフォルトの名無しさん:2010/07/02(金) 21:48:51
>>59
違う。
62デフォルトの名無しさん:2010/07/02(金) 22:02:20
>>60
値型ならコンパイル通らないんじゃね?
63デフォルトの名無しさん:2010/07/02(金) 22:10:41
struct突っ込めばコンパイル通るんじゃね?
64デフォルトの名無しさん:2010/07/02(金) 22:17:29
コンパイルは通るけど動かないと思うけどな
MCIのライブラリ作った時にそれではまったから
構造体に対して意味がないDLLならいいのかもしれないけど
MCIは最初にきっちりデータを入れて渡さないといけなくて
形だけ揃えてマネージメモリ渡したらうんともすんとも言わなかったけど
65デフォルトの名無しさん:2010/07/02(金) 22:22:09
ダイナミックなら何とかなるんじゃね?
66デフォルトの名無しさん:2010/07/02(金) 22:26:27
そういうこと言う奴のほとんどが、なんかしら間違ってるけどな。
67デフォルトの名無しさん:2010/07/02(金) 22:27:03
ころころ動く、っていうなら、ピン止めすればいいだけ。
68デフォルトの名無しさん:2010/07/02(金) 22:30:51
>>67
ピン止めって結局アンマネージメモリを確保してそこに構造体を展開してってのを
GCがやってるだけだよ
69デフォルトの名無しさん:2010/07/02(金) 22:43:28
だからなんだよ
70デフォルトの名無しさん:2010/07/02(金) 22:45:08
>>69
ピンは呼び出す度に入れ替えが行われるから効率が悪い
71デフォルトの名無しさん:2010/07/02(金) 22:47:09
直接アンマネージメモリなんか確保しない方がいいのは確か。
72デフォルトの名無しさん:2010/07/02(金) 22:48:11
効率が必要だなんて誰も言ってねえぞ
73デフォルトの名無しさん:2010/07/02(金) 22:49:20
効率とか、全然違う話になってるやん。
74デフォルトの名無しさん:2010/07/02(金) 22:50:45
効率が必要ならC#で書き直すかCで完結しろドアホ
75デフォルトの名無しさん:2010/07/02(金) 22:53:40
聞いてもいない事まで語りだすのが調子に乗り始めた初心者の特徴です。
76デフォルトの名無しさん:2010/07/02(金) 23:48:31
またつまらねぇことで盛り上がってやがるな
>>39の回答の方がもっと見たいわ
77デフォルトの名無しさん:2010/07/03(土) 00:13:46
>>63-64
何か微妙に他の質問のレスと混同している気がするけど

>>58に対して>>60が参照型ならokとレスしているが、
要素が値型なら>>58はコンパイル通らない(CS1612)から、
参照型ならという仮定は意味を成さないという指摘
78デフォルトの名無しさん:2010/07/03(土) 00:19:30
一応真面目に言っておくけど、>>39は質問の仕方がまずい。
質問が漠然としすぎている。
一体全体何が聞きたいんだよ。一から十まで全部か?

アホの子の特徴だけど、自分には甘く問題を言葉を尽くして他人に説明する努力すら
惜しむくせに、他人にはエスパー的な行間読み能力と親切心を期待している。

こんな人はプログラムなんて書かなくていいよ。
79デフォルトの名無しさん:2010/07/03(土) 07:32:29
おきました(´・ω・`)
80デフォルトの名無しさん:2010/07/03(土) 07:35:35
特に意味はありません。
失礼しました(´・ω・`)
81デフォルトの名無しさん:2010/07/03(土) 11:57:47
ウンコが漏れました(´・ω・`)
割札しました(´・ω・`)
82デフォルトの名無しさん:2010/07/03(土) 12:01:25
メール受信ソフトはつくれないの?(´・ω・`)
83デフォルトの名無しさん:2010/07/03(土) 12:04:51
お前には無理
84デフォルトの名無しさん:2010/07/03(土) 12:19:07
何回貼らせるんだよ……
.NETでPOPサーバからメールを受信する方法:CodeZine
http://codezine.jp/article/detail/477
めんどうならBASP21使え
85デフォルトの名無しさん:2010/07/03(土) 13:07:20
あ、どうも>>85

自前で組むこともできるんですね。また、商用で売ってるんですね。
ライブラリを買ってみようかな・・

どうもありがとう。
86デフォルトの名無しさん:2010/07/03(土) 13:09:11
ああ、BASP21っていうのは、無料だ・・

失礼しました。
87デフォルトの名無しさん:2010/07/03(土) 13:11:01
デジャブだ……
88デフォルトの名無しさん:2010/07/03(土) 13:23:44
(´・ω・`)・・
89デフォルトの名無しさん:2010/07/03(土) 13:36:20
>>7-10
前スレかと思って探したのに無かったから精神病んでるのかと思ったじゃねーかw
90デフォルトの名無しさん:2010/07/03(土) 15:15:38
>>7って最低だな
91デフォルトの名無しさん:2010/07/03(土) 16:00:15
俺はブラウザのログが壊れたかと思った
92デフォルトの名無しさん:2010/07/04(日) 02:49:17
参照したdllをexeと同じフォルダじゃなくlibsみたいなフォルダにまとめるにはどうしたらいいの?
93デフォルトの名無しさん:2010/07/04(日) 03:59:15
逆に考えるんだ。参照したdllをlibsに入れるんじゃなくてlibsに入れたdllを参照するんだ。
94デフォルトの名無しさん:2010/07/04(日) 06:05:39
95デフォルトの名無しさん:2010/07/04(日) 21:50:37
解決法を探しています。以下簡略コード
class Form1 : Form
{
  public class test : x
  {
    public void vsc(object sender, ScrollEventArgs e)
      {
        int y = vScrollBar1.Value;
      }
  }
  private void vScrollBar1_Scroll(object sender, ScrollEventArgs e){}
}

入れ子になっている y に 外の型の vScrollBar1.Value を動的に取得したいのですが
(つまり、スクロールバーを動かすたびに y の値も自動で変化させたい)
エラー CS0038が出てしまいます。
なんとかして解決できないものでしょうか。
入れ子を解除するのはその他の部分に影響がでてしまい、自分の技量ではまだできそうにありません。
96デフォルトの名無しさん:2010/07/04(日) 21:54:27
testにForm1を渡す
public test(Form1 owner) {
  this.owner = owner;
}
Form1 owner;
97デフォルトの名無しさん:2010/07/04(日) 22:04:49
すみません、以下のようにしたのですが解決できませんでした。

class Form1 : Form
{
  public class test : x
  {
    public test(Form1 owner)
    {
      this.owner = owner;
    }
    Form1 owner;

    public void vsc(object sender, ScrollEventArgs e)
      {
        int y = vScrollBar1.Value;
      }
  }
  private void vScrollBar1_Scroll(object sender, ScrollEventArgs e){}
}

やはり、エラーCS0038が出てしまいました。入れる場所が違ったのでしょうか。
98デフォルトの名無しさん:2010/07/04(日) 22:06:27
vScrollBar1を所有してるフォームはどこなんだよ
馬鹿かお前
99デフォルトの名無しさん:2010/07/04(日) 22:07:14
owner.vScrollBar.Value
ていうかxって何? 無理に継承使わなくても.NETで継承しないとできないことってほとんど無いだろ
100デフォルトの名無しさん:2010/07/04(日) 22:07:34
int y = this.owner.vScrollBar1.Value;

分からないならプログラミング辞めて畑でも耕そう
101デフォルトの名無しさん:2010/07/04(日) 22:11:09
わからないなら文法から勉強し直そう
102デフォルトの名無しさん:2010/07/04(日) 22:14:46
このスレで質問する時って

class Hoge : Fuga
{
/* 質問したい部分 */
}

って書くと
Fugaって何?継承する必要あんの?
とか聞かれるんですかね
103デフォルトの名無しさん:2010/07/04(日) 22:16:20
基本お節介焼きだからね。
こんなスレにいるくらいだし。
104デフォルトの名無しさん:2010/07/04(日) 22:16:41
フォームはclassフォームの中のtestクラスと同じ階層にあります。省略して書いているので・・・
xの継承を使っている理由は、他所から手に入れたサンプルコードを弄っているからです。
どういう状況かといいますと、GLSharpというライブラリを使いたくて、GLSharp_Demoというソリューションを見ておりました。
その中のCGのカメラ操作がマウスで行われており、それをForm上のスクロールバーで変わりに操作したいと思っていたので
下手に継承を解除できなかったのです。
105デフォルトの名無しさん:2010/07/04(日) 22:19:12
その様子だと>>101の言う通り文法覚えた方がいいんじゃないの
毎回初歩を学べば済むことを聞きに来る気?
106デフォルトの名無しさん:2010/07/04(日) 22:55:55
>>103
いや。ただ単に相手してくれる現実の人間がいないんだよ。
107デフォルトの名無しさん:2010/07/05(月) 13:51:26
うんうんでたお
108デフォルトの名無しさん:2010/07/05(月) 18:23:40
class Aでpublic virutual で定義されたメソッドを
class Bでprivate 形でoverrideする方法ってありますかね?
109デフォルトの名無しさん:2010/07/05(月) 19:15:32
ないな
110デフォルトの名無しさん:2010/07/05(月) 20:32:42
うん
111デフォルトの名無しさん:2010/07/05(月) 21:01:42
>>108
そんなのできたら継承の概念と矛盾しちゃうし。
EditorBrowsable属性をいじる当たりで妥協したら
112デフォルトの名無しさん:2010/07/05(月) 21:56:19
したら
113デフォルトの名無しさん:2010/07/05(月) 21:59:39
>>111
必ずしも矛盾はしないよ
インターフェイスの明示的実装みたいにキャストすれば見れるようにするって形が考えられる
まあそうすると今度はアクセス修飾子変える意味なくね?って話になるけど
114デフォルトの名無しさん:2010/07/05(月) 23:14:50
>>113
お忘れかも知れんが、たとえ親クラスの型に入っている場合でも
メソッド呼び出しで呼ばれるのはそのクラス自身のメソッドでなければならないはずだが、
>>108こんなことが出来ちゃうとそのポリシーが破綻しちゃうでしょ。
115デフォルトの名無しさん:2010/07/05(月) 23:22:48
privateだから呼び出せないという認識はちょっと違うんだよな
.NETではインターフェイスメンバをprivateで実装しても構わない。キャストすればもちろん呼び出し可。
あくまでそのメンバを含む型としてオブジェクトを扱った場合にはコンパイルエラーを出すべきということ。
実際C#で明示的実装されたインターフェイスメンバのアクセスレベルはprivateになる。
116デフォルトの名無しさん:2010/07/06(火) 00:47:52
どーでもいいよ
117デフォルトの名無しさん:2010/07/06(火) 20:32:06
C#もwindowsプログラムも初心者です。
C#でwebアプリからファイルサーバー上にある
ファイルのアクセス権を取得したいと思っています。
ttp://intre.net/item_6569.html
↑のサイトを参考にコーディングしてみたのですが、
デバッグでローカル環境で実行すると正常に
アクセス権を取得できますが、IIS上で実行すると
アクセス権を取得できません。
どうすれば良いかアドバイスお願いします。
また、このあたりの情報の載っているサイト、
書籍の紹介がありましたら、教えてください。
よろしくお願いします。
118デフォルトの名無しさん:2010/07/06(火) 21:05:53
>>117
普通のIISの問題だろ?
フォルダにIISユーザーの権限与えてるか?
119デフォルトの名無しさん:2010/07/06(火) 21:38:43
はい。
120デフォルトの名無しさん:2010/07/06(火) 21:39:38
Webブラウザを配置して、リンクをクリックしたときに起きるイベントって、webBrawser_Navigatingじゃないのでしょうか?
違うとしたら、何というイベントでその開こうとしているURLを取得できますか?
121デフォルトの名無しさん:2010/07/06(火) 21:51:48
>>フォルダにIISユーザーの権限与えてるか?
>はい。

いったい誰に与えてる?
122デフォルトの名無しさん:2010/07/07(水) 09:37:04
普通にログインユーザとかにしてそうだな
権限の問題ならとりあえずOSとIISのバージョンが必要だな

123デフォルトの名無しさん:2010/07/07(水) 09:48:30
権限の問題ならとりあえずスレチだな
124デフォルトの名無しさん:2010/07/07(水) 10:52:49
いいえ。
125デフォルトの名無しさん:2010/07/07(水) 11:20:11
はい。
126デフォルトの名無しさん:2010/07/07(水) 23:48:41
comboBoxのテキストエリアをクリックするときのイベントはなにですか?
Click? それともMouseClick?
どちらもテキストエリアでなくて、
comboBox全体をクリックしたときに割り当てられているような気がします。
テキストエリアだけのクリックを検出したいので、
アドバイスよろしくお願いします。
127デフォルトの名無しさん:2010/07/07(水) 23:53:28
そんなのないんじゃね?

コンボボックスの中のEditコントロールをサブクラス化して、メッセージを横取りすればいけそう。
128デフォルトの名無しさん:2010/07/08(木) 22:43:37
(´・ω・`)過疎ってますね・・
129デフォルトの名無しさん:2010/07/09(金) 00:15:31
じゃあ、このバカに一つご教授願いたい。

130デフォルトの名無しさん:2010/07/09(金) 00:21:19
話を聞こうか 言ってみたまえ
131デフォルトの名無しさん:2010/07/09(金) 00:26:56
予め言っておく、俺はC#を始めてから日が浅い。
1ヶ月も経ってない。
そしてこの上ない バ カ である。

それでもおけ?
132デフォルトの名無しさん:2010/07/09(金) 00:28:42
馬鹿につける薬は無い
去れ。
133デフォルトの名無しさん:2010/07/09(金) 00:29:31
>>131
いいじゃないか
ここは初心者用だ
そして俺も初心者だw
134デフォルトの名無しさん:2010/07/09(金) 00:43:52
まぁ、今課題でイライラ棒(笑)を作ってるんですけど、うまくプログラムが作動しなくて困ってる状態なんです。
ソース貼ったほうがいいですか?
135デフォルトの名無しさん:2010/07/09(金) 00:46:14
ここにか?貼るなよ迷惑だ
136デフォルトの名無しさん:2010/07/09(金) 00:47:31
>>135
初心者だから勝手が分らない。
どうしろというんだ?
137デフォルトの名無しさん:2010/07/09(金) 00:48:40
晒すなら
>>1
の微香参照
138デフォルトの名無しさん:2010/07/09(金) 00:48:57
てか課題は自力でやれ
139デフォルトの名無しさん:2010/07/09(金) 00:51:45
宿題スレあるだろ
140デフォルトの名無しさん:2010/07/09(金) 01:05:08
初心者はお呼び出ないと。
分りました。
141デフォルトの名無しさん:2010/07/09(金) 01:05:33
それでよし
142デフォルトの名無しさん:2010/07/09(金) 01:06:57
鬼がいる・・・
143デフォルトの名無しさん:2010/07/09(金) 01:07:08
>>140
課題は宿題スレでやれってだけ
144デフォルトの名無しさん:2010/07/09(金) 01:10:44
>>143
過疎ってるからこっちで聞こうとしたんだけどね。
初心者だし、こっちでもいいかなって思った
145デフォルトの名無しさん:2010/07/09(金) 01:12:28
何のために専用のスレあると思ってんだ?
146デフォルトの名無しさん:2010/07/09(金) 01:14:24
>>145
次回からは気をつける。
そう揚げ足とりなさんな。
147デフォルトの名無しさん:2010/07/09(金) 01:18:30
次回からじゃねえよ!今気をつけろ!
148デフォルトの名無しさん:2010/07/09(金) 01:19:41
>>147
どうした?
納期前か?
デスマか?

新屋だし愚痴ってみろよw
149デフォルトの名無しさん:2010/07/09(金) 01:20:29
まったく反省してないな
150デフォルトの名無しさん:2010/07/09(金) 01:21:49
>>147
良くそこまでして揚げ足取りにかかるな。
151デフォルトの名無しさん:2010/07/09(金) 01:29:17
>>147
プログラマーは人間性に欠けるというのは本当なんだな・・・
何でそんな奴が初心者板にいるんだよ。
152デフォルトの名無しさん:2010/07/09(金) 01:30:35
逆切れワロタ
153デフォルトの名無しさん:2010/07/09(金) 07:15:35
まったくもって、揚げ足ではない。
154デフォルトの名無しさん:2010/07/09(金) 12:01:38
>>153
一晩寝て考えた結果がそれか
155デフォルトの名無しさん:2010/07/09(金) 12:32:47
くやしかったのかい?
156デフォルトの名無しさん:2010/07/09(金) 14:19:43
プログラマっていうか、プログラム板はなぜか人格異常者が他板に比べ
異常に多い。
157デフォルトの名無しさん:2010/07/09(金) 14:24:23
デスマという煉獄で脳の回路が焼かれちゃってるんだろうぜ フヒヒ……
158デフォルトの名無しさん:2010/07/09(金) 14:24:36
ふーん
159デフォルトの名無しさん:2010/07/09(金) 15:12:43
>>156
マ板でやれ低脳
160デフォルトの名無しさん:2010/07/09(金) 15:17:19
>>159
異常者発見
161デフォルトの名無しさん:2010/07/09(金) 20:28:01
そういう異常者は他のスレに言ってくれよな。
そういう奴らが圧迫してくるから初心者って質問しにくいんじゃないか。
162デフォルトの名無しさん:2010/07/09(金) 20:42:02
>>159
よう、人格異常者。おまえみたいなやつはリアルでもネットでも居場所ないから
こなくていいよ。
163デフォルトの名無しさん:2010/07/09(金) 21:04:30
おっと、リアル厨房の悪口はそこまでだぜ
164デフォルトの名無しさん:2010/07/10(土) 01:01:27
>>161
何のための「匿名」掲示板だよ
そんな気にせずどんどん質問しろ
もちろん答えが返ってくるとは限らないけどな
165デフォルトの名無しさん:2010/07/10(土) 01:40:33
せめてIDが表示されればいいのに
166名無しさん@そうだ選挙に行こう:2010/07/10(土) 09:59:56
すみません。以下のコードは、どう違うのでしょうか。1つのソースにこの2つがあったんですが違いが分りませんでした。
public override bool Equals(object o){
return base.Equals(RuntimeHelpers.GetObjectValue(o));
}

public override bool Equals(object o){
object p = System.Runtime.CompilerServices.RuntimeHelpers.GetObjectValue(o);
return p.Equals(this);
}
です。
167名無しさん@そうだ選挙に行こう:2010/07/10(土) 10:54:18
baseとthisで違うだろ
168名無しさん@そうだ選挙に行こう:2010/07/10(土) 13:21:12
本当に初心者なのですが、C#でWinAPI使ったWindowsアプリケーションは作れますでしょうか。
出来れば.NETは使いたくないのです。
169名無しさん@そうだ選挙に行こう:2010/07/10(土) 13:24:11
Win32APIを使ったアプリってのは意味不明だが
> 出来れば.NETは使いたくないのです。
こっちは諦めれ
170名無しさん@そうだ選挙に行こう:2010/07/10(土) 13:24:54
C#でWinAPIを使ったアプリは作れる。
でも、C#で.NETを使わないアプリ、は作れない。
171名無しさん@そうだ選挙に行こう:2010/07/10(土) 13:36:02
なんでC#のスレで聞くんだ…
172名無しさん@そうだ選挙に行こう:2010/07/10(土) 13:38:46
C#で、ってことだからだろ
173名無しさん@そうだ選挙に行こう:2010/07/10(土) 13:48:04
>>169-170
ありがとうございます。.NETこれから慣れて行きたいと思います。
>>172 そのとおりです。
174名無しさん@そうだ選挙に行こう:2010/07/10(土) 14:07:05
WPFなんかのtip本って出ないのかねぇ
あまりに本がなさ過ぎる…
175名無しさん@そうだ選挙に行こう:2010/07/10(土) 16:43:39
人気ないんだから当たり前
176名無しさん@そうだ選挙に行こう:2010/07/10(土) 18:07:23
大手はもうFormsからWPFに移行したけどな。
してないのは学生とか零細だけだと思う。
177名無しさん@そうだ選挙に行こう:2010/07/10(土) 18:34:14
System.Net.Sockets.SocketのRecvfromなんですが
EndPointに例えば192.168.0.100:4000みたいなのを先に入れると
192.168.0.100:4000からのデータからしか反応しないように出来るんですか?
178名無しさん@そうだ選挙に行こう:2010/07/10(土) 18:40:47
うん
179名無しさん@そうだ選挙に行こう:2010/07/10(土) 18:43:37
ううん
180名無しさん@そうだ選挙に行こう:2010/07/10(土) 19:29:44
Unix系だとUDPもconnect関数が使えて対象通信相手を限定したソケットが作れるみたいなんだけど
System.Net.Sockets.SocketでUDP Connectしたらどうなるんだろう
とにかくソースを簡素化するために通信相手を分離したいんだけど
181名無しさん@そうだ選挙に行こう:2010/07/10(土) 19:33:31
取り敢えず解説読んでみたら
182名無しさん@そうだ選挙に行こう:2010/07/10(土) 19:46:42
>>181
解説ってMSDNのこと?何も書いてないよ
183名無しさん@そうだ選挙に行こう:2010/07/10(土) 19:49:57
聞いてるうちにやってみればいいじゃん。
184名無しさん@そうだ選挙に行こう:2010/07/10(土) 19:51:42
Socket.Connectの解説にコネクションレスのときについても言及されてるみたいだけど?
185名無しさん@そうだ選挙に行こう:2010/07/10(土) 19:53:23
そうだね
186名無しさん@そうだ選挙に行こう:2010/07/10(土) 20:07:13
>>184
ほんとだ
分離するにはセレクタを自分で実装するしかなさそう
187名無しさん@そうだ選挙に行こう:2010/07/10(土) 20:12:46
だろw
188名無しさん@そうだ選挙に行こう:2010/07/10(土) 21:55:37
>>173
Silverlightなら.NET使わずにC#で作れるよ
189名無しさん@そうだ選挙に行こう:2010/07/10(土) 23:18:48
windowsに接続されているモニタ(複数)を取得したいのですが、
.netで出来ますでしょうか?
190名無しさん@そうだ選挙に行こう:2010/07/10(土) 23:33:24
WinFormならScreenクラス
191名無しさん@そうだ選挙に行こう:2010/07/10(土) 23:53:08
先を越されたけどScreenクラスだよ
192名無しさん@そうだ選挙に行こう:2010/07/11(日) 00:04:13
|д゚) XAMLの質問してもいいかなぁ?
193189:2010/07/11(日) 00:05:42
>>190,191
ありがとう!
C++,MFCから移ってきたから、よくわからんことばかりだわ。
194名無しさん@そうだ選挙に行こう:2010/07/11(日) 00:06:02
じゃあ・・・ダメ!
195名無しさん@そうだ選挙に行こう:2010/07/11(日) 00:06:25
(つд・)エーン
196名無しさん@そうだ選挙に行こう:2010/07/11(日) 00:11:44
>>192
WPFスレとかSilverlightスレでもいいが
197名無しさん@そうだ選挙に行こう:2010/07/11(日) 00:18:41
あっちできくっ!
198デフォルトの名無しさん:2010/07/14(水) 12:46:23
■プログラムの流れ
1.フォーム1(メイン)を起動
2.フォーム2をフォーム1のロードイベントで起動
3.重い処理を複数回行い、ログをフォーム2のテキストボックスに書き込みつつ、処理終了を待つ。
4.フォーム2を閉じる
5.フォーム1表示

■困ってること
フォーム2にはキャンセルボタンがあります。
このボタンを押すと、3番の処理を中断してフォーム2を閉じ、5番の処理に移ります。
このキャンセルボタンの実装で困っています。

3番の処理はテキストボックスにログを書きながら実行するため、フォーム2のフォームロードイベントでスレッドを使用しています。
スレッドの中断には、abortメソッドは危険なため使用していません。
現在は、キャンセルボタン内でフラグをたてて、スレッドを中断しています。(下記URLの20行目、40行目)
ttp://kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10829.txt

42行目のthread.Join();が終わりません。どうやってスレッドの終了を待てば良いのでしょうか?
199デフォルトの名無しさん:2010/07/14(水) 12:55:58
そもそもJoinする意味なんかないだろうに

Joinでメインスレッド待機
this.Invokeでメインスレッドに処理を依頼
メインスレッドが止まってるからその処理を完了できない
this.Invokeは処理が完了するまで待機するからいつまでたっても返らない
ワーカースレッドが終わらないからJoinが完了しない
200デフォルトの名無しさん:2010/07/14(水) 16:10:27
isCancel
cancelled
201デフォルトの名無しさん:2010/07/14(水) 18:01:05
isBeingCancelled
202デフォルトの名無しさん:2010/07/14(水) 19:10:16
だからキャンセルフレームワーク使えよ
俺様コードを量産するからデッドロックが起きるんだろ…
203デフォルトの名無しさん:2010/07/14(水) 20:27:40
キャンセリングフレームワークを正しく使えるような人は
使わなくても大した失敗はしないと思うぜ
もちろん統一したフレームワークに乗せるという意味では大事だけど
204デフォルトの名無しさん:2010/07/14(水) 22:00:00
うん!大事だね。
205デフォルトの名無しさん:2010/07/14(水) 22:04:11
のせるはだいじ……のせるはだいじ……
206デフォルトの名無しさん:2010/07/14(水) 22:05:28
(´・ω・`)ノシ みんな〜
207デフォルトの名無しさん:2010/07/15(木) 00:05:57
(´;ω;`)み、みんな…
208デフォルトの名無しさん:2010/07/15(木) 11:41:41
tabpage.MouseDown += new MouseEventHandler(tabpage_MouseDown);

これだとtabpage.text = で書き換えられる場所を右クリックした時にイベントが取れないようですが、
お手軽に取る方法はないのでしょうか?
209208:2010/07/15(木) 12:45:17
もうお前らに用は無い!
210デフォルトの名無しさん:2010/07/15(木) 13:32:36
クリップボードに取得したデータ(HTML形式)を
ちゃんと画像も表示されるように保存することってできますか?

ためしにIEで選択コピーしたクリップボードの中身をWordで貼り付けたらうまく
画像もフォーマットも表示されましたが。

そのように保存することはできますか?
211210:2010/07/15(木) 13:34:07
ちなみに↓までできてます。
IDataObject sentaku_data = Clipboard.GetDataObject();
if (sentaku_data.GetDataPresent(DataFormats.Html))
{
// 直前のデータがHTML形式であるとき、取得したデータを保存する(時刻、名前)
}
212デフォルトの名無しさん:2010/07/15(木) 13:36:28
クリップボードから取ったデータからURL抽出して拾えばいーだろーが
213デフォルトの名無しさん:2010/07/15(木) 13:39:50
HTMLそのものに画像データが含まれているわけではない(通常)ので普通なら画像は表示されない。
ワードは勝手にsrcを読みに行っただけではないかと。
214210:2010/07/15(木) 13:43:34
なるほど。Wordはそのように、ソースの方から拾ってくるのですね。

普通なら、画像まで拾ってくれないというのも初めて知りました。

お二方のいうとおり、URLから画像を取得することにします。

Wordがそんなことまでして画像を表示してるとは知りませんでした(;^_^

ありがとうございました。>>212-213さん。
215デフォルトの名無しさん:2010/07/15(木) 13:47:21
>>213
揚げ足取りになってしまうが、
>HTMLそのものに画像データが含まれているわけではない(通常)
含まれていることなんてあんの??

バイトコード埋め込むってこと??
ちゃんと動くかわからんけど。
216デフォルトの名無しさん:2010/07/15(木) 13:57:34
>>215
揚げ足をとられるけどあります。
ブラウザ対応度は知らないし保存しようとするとbmpになりますけど。

src=data:image/type;base64,data

こんな感じです。
217デフォルトの名無しさん:2010/07/15(木) 14:01:39
http://www.kawa.net/works/js/data-scheme/base64.html
普通に知らんかった
かしこさが1上がった気がする
218デフォルトの名無しさん:2010/07/15(木) 14:07:14
mhtというのがあってだな
219デフォルトの名無しさん:2010/07/15(木) 14:11:36
>>218
ばーか
220デフォルトの名無しさん:2010/07/15(木) 14:12:25
>>218
これは…
221215:2010/07/15(木) 15:03:11
>>216
おーー
しらんかった。

いいこと教えてもらった。
ありがとう^^


222デフォルトの名無しさん:2010/07/15(木) 20:23:55
>>221
(;^_^)ノシ
223デフォルトの名無しさん:2010/07/15(木) 23:08:25
これからC#をやるのですが、初心者向けのよい本をおしえてください。
224デフォルトの名無しさん:2010/07/15(木) 23:10:25
>>223
本屋で立ち読みして、少しは理解できるやつ。
225デフォルトの名無しさん:2010/07/15(木) 23:11:03
>>223
お題がほしいだけならぐぐればいろいろでてくるよ
本を買うのならある程度マスターしてステップアップの関連で
投資するのが一番かと
226デフォルトの名無しさん:2010/07/16(金) 00:41:02
>>223
言語仕様はとりあえず@itでいいんじゃないのかな
ttp://www.atmarkit.co.jp/fdotnet/csharp_abc2/index/index.html
一通り学習し終えたら225が言うとおり自分がやりたいカテゴリの書籍を探すがよろし
227デフォルトの名無しさん:2010/07/16(金) 00:53:06
全くの初心者だったとき俺はここで勉強した
ttp://ufcpp.net/study/csharp/index.html
228デフォルトの名無しさん:2010/07/16(金) 01:00:18
嘘つけお前は他言語からの乗り換え組だろ
229デフォルトの名無しさん:2010/07/16(金) 01:02:00
誰だよお前
230デフォルトの名無しさん:2010/07/16(金) 02:10:56
うそはいくないです(>_<)
231デフォルトの名無しさん:2010/07/16(金) 04:19:18
俺なんかプログラム初見は@ITの川俣コラムだったぞ(´・ω・`)
最初に言語仕様しっかり把握するべきだったと後で後悔した。
232デフォルトの名無しさん:2010/07/16(金) 04:45:11
最初からキッチリやろうとすると案外続かないものだよ
好きなことからやるよろし
233デフォルトの名無しさん:2010/07/16(金) 08:15:58
ControlをDisposeするとControlに関連付けられていた例えばNameなども破棄されますよね?
234デフォルトの名無しさん:2010/07/16(金) 08:53:00
されない。そのうちGCに回収されるが、ControlをDisposeしたからといって
回収される可能性が上がるわけでもない。そのコントロールがその場でGCされるわけでもない。
DisposeとGCは関係ない。
235デフォルトの名無しさん:2010/07/16(金) 08:55:47
メタセコイアで作った数字で3Dのスコア表示させるんだけど
桁ごとにモデルを表示させるのがうまくいかない。

例えば12なら十の位に1、一の位に2を表示させたい。
配列でa[1]=1、a[0]=2って感じに格納出来ればなんとかなるんだけど
ぐぐってもよくわからなかったんだ。
教えてくださいえろい人。
236デフォルトの名無しさん:2010/07/16(金) 09:03:38
モデルの配列にする。
そんなレベルで躓いてたらさすがに時間の無駄。最低限の勉強は必要。
237デフォルトの名無しさん:2010/07/16(金) 09:34:53
>>236
別にちょっと考えればほんとはわかるんだけどね

まあ、今は卓上論でしかないが、数式的な考え方でOS設計程度の能力は既に俺の中で軽く確立してる。
ただ自分は目立とうとかも思わないしプログラムはただの趣味だしその程度のもの。

自分が知ってる限り、そういう「闇の」エンジニアは数人知っているが、
こういう煽りに近い初心者(俺はそれを模しただけ)いびりを見ると、
「おやおや、俺のような達人に得意げに語るだけで飽きたらず、しかも馬鹿にまでしちゃってるよ、HAHAHA」としか思わないのよね

口だけじゃあれだから、一応言っておきたいが、
これ、作り話だと思ってた親友に俺が作った物みせたら
そいつは「ビルゲイツ?おいおい、そんなレベルじゃないだろ、お前。お前は表の世界に出るなよ。世界にはバランスっていうのがある。お前なら分かるだろ?ったく」と言い、笑った。
そういう世界に俺はいるんですよ

わかった?
238235:2010/07/16(金) 09:39:19
>>236
すいません、勉強不足でした。
自力で頑張ります、低レベルな質問してすいません。

一応>>237は私ではないです。
239デフォルトの名無しさん:2010/07/16(金) 09:41:17
闇wwwwwww
なんだこれwwwwwww
240デフォルトの名無しさん:2010/07/16(金) 10:04:43
>>237は人間のクズだなwwwwwww
241デフォルトの名無しさん:2010/07/16(金) 10:11:04
おまえらそんな事を俺に行ってもいいわけ?
かの有名なマタドールパターンを作ったのは俺なんだけど
あらゆるアルゴリズムに対応している神をも平伏す事が出来るデザパタ
しらないだけでも無かろうに

俺がたまに下界に下りてきておまえらに声かけてるのは業界のレベルの低さを嘆いているから
初心者を演じるのもお前等に優越感を出させてやる気を出させる為っていうのがわからないの?

あんまり怒らせないでね
なんならやるかい?

プログラム勝負をさ
242デフォルトの名無しさん:2010/07/16(金) 10:36:18
C++のメンバ関数ポインタ的なものってどうやって書けばいいの
243デフォルトの名無しさん:2010/07/16(金) 10:38:13
デリゲート
244デフォルトの名無しさん:2010/07/16(金) 10:45:33
delegateはオブジェクトが決まってないと取得できないよね。
C++の場合class A{ void foo(int); void bar(int); };があったとして、
typedef int A::(*int_void_signature)();
void tekitou_na_kannsuu(int_void_signature memfnp, A *array){ for(int i = 0; i < N; ++i){ (array[i].*memfnp)(99); } }
//...
tekitou_na_kannsuu(&A::foo, hairetu);
tekitou_na_kannsuu(&A::bar, hairetu);
要するに、オブジェクトが任意で同一シグネチャのメソッドを複数の中から切り替えたい場合にC#ではどうすればいいかということ
245デフォルトの名無しさん:2010/07/16(金) 11:34:05
MethodInfo
246デフォルトの名無しさん:2010/07/16(金) 11:34:38
どうも
247デフォルトの名無しさん:2010/07/16(金) 11:36:42
今日から復帰するよ。ヨロシクシャプー
248デフォルトの名無しさん:2010/07/16(金) 12:08:34
荒らしか・・・
249デフォルトの名無しさん:2010/07/16(金) 12:10:03
おにいちゃんもうおしっこ我慢できないよぉシャプァ
250デフォルトの名無しさん:2010/07/16(金) 13:06:53
C#2010をインストールしてみたんだが
2回も再起動をさせられたんだが

「今すぐ再起動をする」と「後で再起動をする」のボタン2個表示されてるのに
「後で再起動をする」のボタンはdisabledってどういうことなの!ふざけてるの?
251デフォルトの名無しさん:2010/07/16(金) 13:07:28
C#「ふざけてごめんなさい」
252デフォルトの名無しさん:2010/07/16(金) 13:56:46
ぽっくんのCelorenのパソコンでは2008が限界だよ。

2010を動かせるPasoconがあるだけうらやましいよ。
C#でフリーソフト作れるのもあと何年か・・
253デフォルトの名無しさん:2010/07/16(金) 14:04:11
無職かなんかなの?
5万もあればそれよりはずっとまともなPC買えるだろ
254デフォルトの名無しさん:2010/07/16(金) 14:18:33
今、C#2080なんだけど、C#2010にバージョンアップした方がいいのかな?
255デフォルトの名無しさん:2010/07/16(金) 14:20:05
それを面白いと思って言ってるのならキチガイだよ
256デフォルトの名無しさん:2010/07/16(金) 15:09:22
2010はかなり重い。
評価目的でしか使えないので、オレは2008に戻した。
257デフォルトの名無しさん:2010/07/16(金) 15:15:48
低性能の家のマシン(2.8GHz、1.75GB)でさえそんな重さは感じないけどなぁ
ボトルネックになりやすいHDDを変えてみては?
258デフォルトの名無しさん:2010/07/16(金) 16:15:09
>>2.8GHz 何が??
CPUの型番書いた方が分かりやすい。

それでも2.8GHzのCPUが低スペックだとは思わないけど。
259デフォルトの名無しさん:2010/07/16(金) 17:00:34
もうそのネタ飽きたよ
260デフォルトの名無しさん:2010/07/16(金) 17:10:42
http://www.atmarkit.co.jp/fdotnet/dotnettips/326cookie/cookie.html
上記の方法だと毎回ログインしないと読み込むことができないような。。。
一回だけログインして後はurlだけ指定して読み込みたいんだけど
何かいい方法ある?
261デフォルトの名無しさん:2010/07/16(金) 17:13:06
>>258
Pentium4の2.8GHzはひどいぞ
262デフォルトの名無しさん:2010/07/16(金) 17:45:52
>>260
cookieが無効にならない限りログインは1回だけじゃん
263デフォルトの名無しさん:2010/07/16(金) 17:48:54
こんにちは。C♯を学校の授業でとっている学生です。課題で


,各自で課題を設定しプログラム
を作成しなさい.ただし,以下の要件を満たすこと.
􀁺 自作のメソッド(関数)を最低一つ作成し,Mainメソッドなど他の関数
から呼び出す.その際,実引数を与え,戻り値を受け取るようにするこ
と.
􀁺 プログラム中で,条件分岐および繰り返し処理を行うこと.
􀁺 入力はキーボードから行い,出力は標準出力とすること.


というものが出ているんですが・・・まったくちんぷんかんぷんで・・・誰かお力になっていただけませんでしょうか?

264デフォルトの名無しさん:2010/07/16(金) 17:54:14
>>263
課題が悪すぎる。
白紙で提出してやれ。
265デフォルトの名無しさん:2010/07/16(金) 17:59:14
>>263
課題を出した人をリプレースする必要がありそうだな
266デフォルトの名無しさん:2010/07/16(金) 17:59:31
そうですか・・・宿題スレでも聞いてみます!
267デフォルトの名無しさん:2010/07/16(金) 18:15:11
なんでこんな課題が分からないんだよ。
268デフォルトの名無しさん:2010/07/16(金) 18:24:24
すみません・・・わからないです。
よかったら協力していただけませんか?
269デフォルトの名無しさん:2010/07/16(金) 18:27:26
>,各自で課題を設定しプログラム
>を作成しなさい.ただし,以下の要件を満たすこと.
       , ー――― 、
     /         \
    /     ,へ      `、
   /   ,Λ/  `、Λ ,    \        / ̄ ̄ ̄ ̄ ̄ ̄ ̄
   レ|  /十十   十十|  _  \_      | はぁ…
   /| (イ-t―,-  -t―,-`'6)ー 、`、 o O |
   / `   ̄     ̄  r'    \)     | だっるぅー…
  /   ` 、   _    / |   ,_,へ|    \_______
 ( ̄`' ̄ ̄ ̄)  ̄ ( ̄ ̄ ̄`'   ̄`)


っていきなり言われてる気がする
270デフォルトの名無しさん:2010/07/16(金) 19:03:58
俺が作ってやるよ。
足し算かべき乗計算をするプログラムを作る。

Main内で足し算かべき乗計算かで条件分岐し足し算の関数とべき乗計算の関数をつくり
Mainから呼び出す。当然戻り値は計算結果。

んで、べき乗計算の関数は引数を2つ取り、2番目の引数まで1番目の引数を掛け算しまくる。当然、ここで繰り返し処理を使う。

標準入力は、Console.In 標準出力は、Console.Outでも使っとけ。
271デフォルトの名無しさん:2010/07/16(金) 19:54:40
わからない場所があるってんならともかく
まったくちんぷんかんぷんってのは
授業の一回目でこんな課題が出たのか
授業に着いていけてないのかどっちだ?
272デフォルトの名無しさん:2010/07/16(金) 20:12:37
このレベルで授業についていけないなんてありえない。
明らかに授業を真面目に聞いてないだけ。DQN破滅しろ
273デフォルトの名無しさん:2010/07/16(金) 23:05:35
引き篭もりニート無職童貞キモデブオタの俺でも余裕だった。
274デフォルトの名無しさん:2010/07/16(金) 23:35:11
>>244
できるが。
275デフォルトの名無しさん:2010/07/17(土) 19:41:31
DOMか正規表現どっち勉強しとけばいい?両方必要?
276デフォルトの名無しさん:2010/07/17(土) 19:44:36
どっちもが優先というかDOMやってると正規表現使いたくなるケースがほとんどじゃね?
正規表現ライブラリとかもあるだし
277デフォルトの名無しさん:2010/07/17(土) 22:34:59
こっちが懐かしい`;ω;´
278デフォルトの名無しさん:2010/07/18(日) 04:43:37
C#に限らず、目的を実現する為の手段ってどうやって調べます?
今、
DLLに含まれるクラスやメソッドを取得したい

リフレクションというのが必要らしい

クラスライブラリを眺める

使い方が分からない。ていうか知らない用語ばっか ←今ここ

って状態なんですが、用語の意味を調べると、更に分からない事が増える負のループ状態です orz
279デフォルトの名無しさん:2010/07/18(日) 05:21:59
>>278
キララ桐井でサンプル探してきてコピペ
280デフォルトの名無しさん:2010/07/18(日) 09:47:56
らしいだの何だの中途半端に理解するから際限なくなるんだろ

Assembly.CreateInstance(”アセンブリ名”)で読み込んで
Assembly.GetTypes()で型をすべて取り出して
それぞれにType.GetMethods()すればいいだけじゃ

使い方がわからねえって
Assembly.CreateInstance以外は引数いらねえよ
MSDNくらい読んでんだろうな

http://msdn.microsoft.com/ja-jp/library/f7ykdhsy%28v=VS.80%29.aspx
281デフォルトの名無しさん:2010/07/18(日) 10:20:37
>Assembly.CreateInstance(”アセンブリ名”)で読み込んで

いきなりなんだそれはw
282デフォルトの名無しさん:2010/07/18(日) 10:45:45
Assembly.CreateInstanceはアセンブリ内の型のインスタンスを作るメソッドだろw
アセンブリを読み込むのはAssembly.Load
283デフォルトの名無しさん:2010/07/18(日) 11:12:11
>>278
ググる。解からない部分が無くなるまでループ繰り返し

278が欲しいのはAssembly.Loadなの?DllImportじゃなくて?
284デフォルトの名無しさん:2010/07/18(日) 11:52:01
ふぅ
285デフォルトの名無しさん:2010/07/18(日) 12:18:10
DllImportならImageDirectoryEntryToDataでExportDirectoryを取得すればいいのではなかろうか
286デフォルトの名無しさん:2010/07/18(日) 18:34:02
ListViewの先頭に項目を追加する方法を教えてください
287デフォルトの名無しさん:2010/07/18(日) 18:53:41
ListViewItemCollectionの説明を読め
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.listview.listviewitemcollection(v=VS.80).aspx

仮想モードなら悩むまでもねーだろ
288デフォルトの名無しさん:2010/07/18(日) 19:08:25
かー、そうですか
289デフォルトの名無しさん:2010/07/18(日) 21:24:02
リファレンス読んでわからんかったことが、本読んだら一発で理解できたわ。
脳味噌って不思議。
290デフォルトの名無しさん:2010/07/18(日) 21:32:22
かー、そうですか
291デフォルトの名無しさん:2010/07/18(日) 21:37:46
すいません。わかってない感ありありの質問ですが、よろしくお願いします。
C#のwebアプリでTextBoxの入力された文字列を取得したいです。
buttonを押されたときは、
session["TEXT"] = txtbox.Text;
という感じで正常に取得できました。
これとは別に、キーボードのEnterキーを押したときに
TextBoxの入力内容を取得するのはどうすればいいんでしょうか?
C#ではキーボード入力のハンドラがないので、javascriptのコールバックで処理しました。
その中で、Session["TEXT"] = txtbox.Text;としても値が取得できませんでした。
それで、txtbox_TextChangedというイベントを登録して、そのなかでsessionに
代入したら、基本的にはtxtboxの中身を取得できるようになりました。
しかし、IISでこのアプリを動かしてみたら、取得できることとできないことがありました。
PCとブラウザの組み合わせで取得できない頻度が変わります。

とりあえず、javascriptのコールバック処理中に
明示的にtextboxの中身を取得する方法というのはあるのでしょうか?
とりあえず、最近のお友達googleさんに聞いてもわかりませんでした。
質問する人間に知識がなく、本当に申し訳ないですが、よろしくお願いします。
292デフォルトの名無しさん:2010/07/19(月) 01:08:30
CPUのコア数をどっかのクラスのスタティックプロパティから取得できたはずなんだけど思い出せません
ググるとAPIでGetSystemInfo使えとかGetLogicalProcessorInformation使えとか
SmartDeviceどうとかいう倒片木な答えしか出てこないんで
誰か教えてください
そんなAPI呼ぶまでもなかったはずです
293デフォルトの名無しさん:2010/07/19(月) 01:11:39
294デフォルトの名無しさん:2010/07/19(月) 01:13:24
Environment.ProcessorCount
295デフォルトの名無しさん:2010/07/19(月) 01:15:59
>>293-294
愛してるよぉー
296デフォルトの名無しさん:2010/07/19(月) 09:30:17
結局のところ

とどのつまりC#ってのはDelphiなの?
297デフォルトの名無しさん:2010/07/19(月) 09:32:23
Delphiは斜陽ボーランド
C#はゲイツに首輪を付けられた言語(最近自由になった)
298デフォルトの名無しさん:2010/07/19(月) 09:43:22
コントロール作成時にRegion regにreg.MakeInfinite()してCreateGrapicsで取得したgraphics.Clipに代入しているんですが、
graphicsを作成したコントロールがResizeする時にGDI+で描画できる範囲が初期状態のコントロールの大きさに自動的にクリッピングされてしまいます。
何か他に設定するべき項目でも存在するんでしょうか?
299デフォルトの名無しさん:2010/07/19(月) 10:11:18
>>298
全体的に言ってることがオカシイしよく分からん。
どうせ君はGDI+についてもコントロールについてもちゃんと理解してないんだから、
初めからストレートに「最終的に何を実現したいのか」だけを書いた方がいいと思う。
300デフォルトの名無しさん:2010/07/19(月) 10:16:56
ウィンドウをドラッグしてコントロールを大きくして再度System.Drawing.Graphicsで描画しても元の大きさ以上の領域に描画が反映されない
301デフォルトの名無しさん:2010/07/19(月) 12:37:04
今VisibleClipBoundsを見たらコントロールのWidth, Heightと一致しておらず、小さかった。
どうやってVisibleClipBoundsの大きさ変えればいいの
302デフォルトの名無しさん:2010/07/19(月) 13:11:24
ごめんResizeのたびにCreateGraphics()からgraphics更新したら解決した
303デフォルトの名無しさん:2010/07/19(月) 14:05:17
VisualStudio2010の話なのですが、
左側にメインのプログラム、右側にメソッドの中身
という形で分割して
メインのプログラムが進行して行くにつれて
自動的に右側のメソッドウィンドウも変わって行くみたいな表示の仕方って
できますか?
お願いします。
304デフォルトの名無しさん:2010/07/19(月) 14:09:06
305デフォルトの名無しさん:2010/07/19(月) 15:00:29
ダブルバッファの設定にSetStyle(ControlStyles.DoubleBuffer, true);をするとOnPaintイベントハンドラが呼ばれ、制御を返した後にバッファからディスプレイへ転送されるみたいですが、
明示的にバッファに描きこみをしつつプログラマの決めるタイミングでOnPaint外からバッファをディスプレイへ転送する方法はありませんか?
306デフォルトの名無しさん:2010/07/19(月) 15:16:37
自分で用意したバッファ用bmpに描画して
自分の好きなタイミングでバッファ用bmpからコントロールにDrawすればいいんじゃね?
と試さずに書いてみる
307デフォルトの名無しさん:2010/07/19(月) 15:37:43
なんで.NET側に作業用バッファが用意してあるのに更にバッファ作らないといけないんだよ
308デフォルトの名無しさん:2010/07/19(月) 15:55:11
作業用バッファへの書き込みに使う作業用バッファ
309デフォルトの名無しさん:2010/07/19(月) 16:14:02
refreshすりゃいいんじゃないのかしら
310デフォルトの名無しさん:2010/07/19(月) 17:35:36
ややこしいな
311デフォルトの名無しさん:2010/07/19(月) 18:58:15
WPFでおk
312デフォルトの名無しさん:2010/07/19(月) 20:46:14
C++からC#に移って、いちいち名前空間書くの面倒だなあと思ってたけど、C++でも本来は書くべきだったんだなーと気付いた。
C#は素晴らしい言語です。
313デフォルトの名無しさん:2010/07/19(月) 20:49:03
C++の方が名前空間書くだろ
C#はusingしまくっても問題が出ないように注意して設計されてるから
基本的にすべてusingでおk
314デフォルトの名無しさん:2010/07/19(月) 21:23:55
>>313
そのせいで長ったらしいクラス名を書かないといけないんだけどな
315デフォルトの名無しさん:2010/07/19(月) 22:08:32
最初からIDEの使用を前提に設計されてるからな
316デフォルトの名無しさん:2010/07/20(火) 07:15:21
IDEがないJavaは悲惨すぎる
317デフォルトの名無しさん:2010/07/20(火) 07:19:02
C言語あたりは省略しまくりだよね
318デフォルトの名無しさん:2010/07/20(火) 08:20:34
ファイルがロックされてたら開放されるまで待つってのはどうやればいいの?
FileStreamだとすぐ例外が発生するだけだよね?

あとlockで一定時間止まってたらlockを解除するって出来る?
319デフォルトの名無しさん:2010/07/20(火) 16:54:19
ListView(View:Details)でアイテムが追加されたときに、
スクロールバーを動かして常に最新アイテムを表示させたいのですがどうすればいいですか?
320デフォルトの名無しさん:2010/07/20(火) 17:05:44
よーし!
俺がまとめてこたえたる!

待ってろ!
321デフォルトの名無しさん:2010/07/20(火) 17:17:01
はい
322デフォルトの名無しさん:2010/07/20(火) 17:21:17
ちょっと聞いてくれ
4.1999999999999993=3.0*1.4
ってなるんだけどなんで??
323デフォルトの名無しさん:2010/07/20(火) 17:22:34
二進浮動小数点数の宿命
324322:2010/07/20(火) 17:28:19
いま、二進浮動小数点数をググッてきました。

C#の場合、どうすればスマートに
4.2 = 3.0*1.4
になるのでしょうか?
325デフォルトの名無しさん:2010/07/20(火) 17:30:34
下駄を履かせる
326デフォルトの名無しさん:2010/07/20(火) 17:39:42
4.2は2進数では無理数になる。
整数ならΣa_n * 2^n (a_n in {0, 1})で綺麗に表されるが、小数の場合はΣa_n * 2^nに加えΣa_m * 2^(-m)も処理しなければならない。
そこで問題になるのが0.2が1/2, 1/4, 1/8, 1/16, 1/32, 1/64, 1/128, 1/256, ...のそれぞれの項の和で示せるかどうかで、
少なくともC#の浮動小数点数型では桁数が足りない。
.netにはdecimalってのがあったはずだからそれ使えばいいよ。これは確か「小数をドットを外した時の数とドットの位置」を覚えている型だったと思うから。
327デフォルトの名無しさん:2010/07/20(火) 17:46:30
>>324
30*14/100
328322:2010/07/20(火) 17:47:59
decimalを使ったところ、
思うような動きをしてくれました。

二進浮動小数点数、decimal型をもうちょっと勉強してみます。

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

329デフォルトの名無しさん:2010/07/20(火) 17:59:08
小数点以下を厳密にしたいなら浮動小数点型は使うなってことだ
330デフォルトの名無しさん:2010/07/20(火) 18:12:53
    ∩_∩
   / \ /\   
  |  (゚)=(゚) |    人人人人人人人人人人人人人人人人人人人人人人人人人
  |  ●_●  |   <  小数点以下を厳密にしたいなら浮動小数点型は使うなよ >
 /        ヽ  <                                     >
 | 〃 ------ ヾ |   YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY
 \__二__ノ 
            

 ∩  ∩
 | | | |
 | |__| |
/ 一 ー \   人人人人人人人人人人人人人人人
/  (・) (・)  | < 無理数超越数はどうすればいいの >
|    ○     |  YYYYYYYYYYYYYYYYYYYYYYY
\__  ─  __ノ

    ∩_∩     
   / \ /\   
  |  (^)=(^) |    人人人人人人人人人人
  |  ●_●  |   < 諦めろってことだよ   >
 / //   ///ヽ  <言わせんな恥ずかしい>
 | 〃 ------ ヾ |   YYYYYYYYYYYYYY
 \__二__ノ
331デフォルトの名無しさん:2010/07/20(火) 18:14:03
>>326
1行目、無理数じゃないぞ。循環小数だ
332デフォルトの名無しさん:2010/07/20(火) 18:15:00
>>331
訂正ありがとうございます。
333デフォルトの名無しさん:2010/07/20(火) 18:18:57
AA厨うぜえええ
334デフォルトの名無しさん:2010/07/20(火) 18:24:33
夏休みなんだよ
335デフォルトの名無しさん:2010/07/20(火) 18:32:26
実際は30過ぎのおっさんが嬉々として貼ってるのかもな
336デフォルトの名無しさん:2010/07/20(火) 18:54:04
>>329
Decimalも浮動小数点型な件
337デフォルトの名無しさん:2010/07/20(火) 19:14:14
VS2005のC#でDataGridViewにデータを表示させています。

そして、DataGridViewに以下の列設定を行いました。

1列目> 名称:"連番" 幅:50
2列目> 名称:"名前" 幅:100

問題は、"連番"という文字の横幅から考えて
50pxと余裕を持った横幅にしているにも関わらず、
画面に表示させた場合に、本来は、
連番 と横に表示させたいのですが、




と縦に表示されてしまうのです。
また、横幅を100にすると 連番 と正常に横に表示される様に
なるのですが、どうすれば幅を小さくした場合でも正常に
横に表示される様になりますか?
338322:2010/07/20(火) 19:15:14
>>336
なぜDecimalは浮動小数点型なんですか?

msdnには「decimal 型は、浮動小数点型よりも有効桁数が多く」
と浮動小数点型よりもと書いてあるので、
違うものと思いましたが浮動小数点型なのでしょうか?
339デフォルトの名無しさん:2010/07/20(火) 19:17:31
2進化浮動少数点演算と10進化浮動少数点演算
340デフォルトの名無しさん:2010/07/20(火) 19:19:45
一般的な用語としての「浮動小数点型」である、ということと、
特定のdoubleなりsingleなりの実装を指す「浮動小数点型」の違い。

>>336 が言ってるのは一般的な意味で、MSDNの文章では特定の型のことを言っている。
341デフォルトの名無しさん:2010/07/20(火) 19:21:44
>>337
その列の「SortMode」を「NotSortable」にしてみたら?
「連番」だけじゃなく▲も表示されるようになってるから3文字分必要。
342322:2010/07/20(火) 19:26:50
>>340
理解出来ました。

ありがとうございます。
343デフォルトの名無しさん:2010/07/20(火) 20:02:03
>>322
なんかどう考えても間違った方向に進んでるのを見過ごすのもアレなんで。

たぶん扱う小数点以下の桁数が確定しているような用途なんだろうから、
だったら表示なり何なりする時点で必要な桁数で丸めればいい、っていうか
それが普通の方法だと思うよ。

たまたま上手くいくからDecimal使おう、とか、考え方間違ってるでしょ。
344デフォルトの名無しさん:2010/07/20(火) 20:14:07
>>341
疑問が解決しました。どうもありがとうございます。
345デフォルトの名無しさん:2010/07/20(火) 20:26:30
DataGridViewとバインドしているDataTable内の【連番】列は、
int(数値型)では無く、諸事情によりstringで定義しています。

しかし、DataGridView上の連番をクリックするとどうやら
ソートが数値としてでは無く、文字列としてされている様です。

どうすれば数値としてソートする事が出来ますでしょうか?
346デフォルトの名無しさん:2010/07/20(火) 20:36:21
>>343
やさしいんですね(><;)
いづみは、そういう人が大好きなんです(><;)
ありがとうございました(//∇//)
347デフォルトの名無しさん:2010/07/20(火) 20:37:08
ColumnHeaderMouseClickで自前で
DataTableバインディングしてるなら
DataTableに数値型の非表示列作ってそれをソート列にすることになるな
結構めんどくさいから素直に元々数値列にするなり0パディングするなりするのがお勧めだがね
348デフォルトの名無しさん:2010/07/20(火) 20:46:17
>>343
どう考えても間違ってるってこたないだろー
これだけの情報ではどっちが適切なのかはわからんぜ
349デフォルトの名無しさん:2010/07/20(火) 20:47:43
ああ、引きこもりニートのプログラマだけど
小数点扱うのもめんどくさいんだな〜

ようやくC#でGUIつくれたりK&Rを7年かかってようやく理解できるようになったりしたのに、
小数点扱う上でもそんな盲点があったのか・・

やっぱ大学行ってきっちり教えてもらわないと駄目だな・・1回だけ就職したブラック企業では
浮動小数点の扱い方なんておしえてくれなかったわ。
350デフォルトの名無しさん:2010/07/20(火) 20:51:00
>>349
大学行っても2進化10進数とか軽く流されるから意味ないよ
数値計算とか金銭系行かないと数値を厳格に扱わないのではないかな
351デフォルトの名無しさん:2010/07/20(火) 20:54:13
金融系か、COBOLからの移行とか、そんなんじゃないと
あんまり厳格にはやらないと思う。
352デフォルトの名無しさん:2010/07/20(火) 21:00:45
大学でやらされるのは、伝統的なカリキュラムなら、物理シミュレーションとかで問題になるようなほうの
数値計算だね。金銭系で問題になるようなところを教えるカリキュラムはすごく珍しいと思う。探せば教えてる
ところもないではないけども。
353デフォルトの名無しさん:2010/07/20(火) 21:07:45
>>349
2進浮動小数点数の実装や誤差について調べたいなら、GNUの多倍精度演算ライブラリのドキュメントを見たり
浮動小数点数演算が可能なCPUを話題に取り扱っている本を読んでみれば良い。
ここまでくるとC#は関係ないが、ほんの30年前まではアナログ回路で計算させてたのに
最近だとデジタル演算でマンデルブロー集合が一瞬で計算できる様になるまでの道のりなども調べてみると興味深いかもしれない。
354デフォルトの名無しさん:2010/07/20(火) 21:32:37
DEFINT A-Z
355デフォルトの名無しさん:2010/07/20(火) 21:44:21
>>350
一応突っ込んどくけど、2進化10進数(いわゆるBCD)なんて
組み込み用のマイコンでもなきゃ直接扱うことはまずない。

別の何かと勘違いしてないか。
356デフォルトの名無しさん:2010/07/20(火) 21:48:08
BCDなんてビット演算の方法とn進数の体系的な知識があればwikipediaで説明見て終わるレベル。
大学でそれが流されるか、流されなかったとしてもさわりだけしかやらないのはわざわざ授業の時間割いてやる様なものではないから。

俺中卒引きこもり無職だけど
357デフォルトの名無しさん:2010/07/20(火) 22:33:34
>>355
COBOLのパック10進数のことを思ってたんだ
ttp://ja.wikipedia.org/wiki/%E3%83%91%E3%83%83%E3%82%AF10%E9%80%B2%E6%95%B0
俺は電子工学科でFORTRANの授業しか受けてない
20年ちかく前だけどニュートン法とか2分法とかそっち系
358デフォルトの名無しさん:2010/07/20(火) 23:14:55
クラスのアレイをforeachで初期化するにはどうすればいいですか?
iのあとに.でaがインテリセンスに出てこないんです

class TESTcls
{
int a;
}

TESTcls[,] test = new Testcls[100,100];

foreach(TESTcls i in test)
{
i.a=0;
}
359デフォルトの名無しさん:2010/07/20(火) 23:20:26
それ以前にiにインスタンス入ってないし
360デフォルトの名無しさん:2010/07/20(火) 23:26:27
int aのアクセス修飾子がprivateだからに決まっている
アホか
361デフォルトの名無しさん:2010/07/20(火) 23:27:11
>>358
public
362デフォルトの名無しさん:2010/07/20(火) 23:27:28
アホですみません
363デフォルトの名無しさん:2010/07/20(火) 23:28:11
どういたしまして
364デフォルトの名無しさん:2010/07/20(火) 23:29:03
クラスのアクセス修飾子は省略するとinternalになる
クラス内にネストしてクラスを作った場合は省略するとprivateになる
メンバは常にprivate
365デフォルトの名無しさん:2010/07/20(火) 23:41:41
あ、多次元配列ってforeachで一気にいけるんだ。いままでネストしてた気がするorz
366デフォルトの名無しさん:2010/07/20(火) 23:47:34
まあ、でも一気にする用途って多次元にする意味ないっちゃない。ひとりごとでスマソ
367デフォルトの名無しさん:2010/07/20(火) 23:59:47
一番やりたいだろう「取り敢えず全部new」には使えないしな
368デフォルトの名無しさん:2010/07/21(水) 00:07:21
画像処理はいっきにやる処理ばかりだけど2次元の方が都合がいい場合が多い
369349:2010/07/21(水) 00:29:28
ああ、みなさん、見てないうちにたくさんのレスありがとうございました。

なんしろ、趣味?で7年もやってるので、引くに引けないので、とりあえず
いろいろと調べてみます。実は本屋で今調べてきたところです。

少数を掛け算して整数にしてから、10やら100でわるという方法とか
何人かの方がおっしゃってた、BCDという手法も載っていました。金がたまったら本買って見ます。

>>353さんのレスを足がかりにいろいろ調べてみたいとおもいます。ありがとうございましたm(_ _)m
問題は、多分、私がそこまでのレベルに達していないと思われることです(;^_^

とりあえず、小数部分を10倍とか100倍して、計算後に10やら100でわるという方法で対処します。

みなさん、ありがとうございました。本当に参考になりました。
370デフォルトの名無しさん:2010/07/21(水) 00:31:35
>>347
そーします。どーも。
371349:2010/07/21(水) 00:35:15
すみません、さっきに続き独り言を…

暇にまかせて、Java、PHPから入り、CやらWin32APIやらC++やらC#に手を出したのですが、最近、コンソールアプリしかなかった時代のK&Rを読み、C言語プログラミングの実感がわきました。

で、だんだんと、あーこうやってつながっていって今のC#があるんだなとかわかったりしました。また、Cの文法のでき方の由来を知るにも「こりゃアセンブラやりゃいいな」とかわかるようになりました。

K&Rがやや?理解できるようになってから、急にC#でのプログラムのうまいアルゴリズムとかもできるようになりました。

苦節10年とありますが、多分私はまだしばらくニートだとおもいますので、それまでがんばってみます。

スレチすません。
372デフォルトの名無しさん:2010/07/21(水) 00:57:50
夢はでっかく持て!!
いつか自分の時代が来ると思って。。。
Step by Step
373デフォルトの名無しさん:2010/07/21(水) 01:10:55
>>349
一応ちょっとアドバイス。
学者になりたいなら話は別だけど、別に難しい本なんて読まなくても
誤差を最小化する方法なんて自分で考えれば分かるでしょ?

っていうか、難しい科学計算とか数値積分とかは知らんけど、
普通のプログラマが扱う領域で必要な精度なんて、たぶんほとんどの場合
演算順序とか何も気を使わなくても得られちゃうよ。

必要なのは、必要とされている精度をちゃんと把握することと、
適切に丸めを使うことを覚えるだけ。
374デフォルトの名無しさん:2010/07/21(水) 01:38:56
浮動小数点のことはよく分からないがw
.Net 3か4からか知らないが2には無いBigIntegerとうものがある
多倍長整数を計算計算出来るすぐれもの
2に拘ったからCodeProjectにBigIntegerを作ってくれてる人が居るよ
375デフォルトの名無しさん:2010/07/21(水) 01:44:31
http://www.codeproject.com/KB/cs/biginteger.aspx
これこれ
MD5とかSHA1とかそのまま数値として扱えるからいろいろ怪しいことに使える
376デフォルトの名無しさん:2010/07/21(水) 01:49:59
>>375
警察に通報しといた。
会社や学校に最後の挨拶をしておいた方が良い。
377デフォルトの名無しさん:2010/07/21(水) 02:14:10
>>375
良くわかんないけど凄いの?
378デフォルトの名無しさん:2010/07/21(水) 02:16:53
うん。すごいよ。
379デフォルトの名無しさん:2010/07/21(水) 02:18:31
(><;) (><;) (´・ω・`)?(><;) (><;)
380デフォルトの名無しさん:2010/07/21(水) 02:22:30
うほっ(;^_^
381デフォルトの名無しさん:2010/07/21(水) 02:23:44
>>375
警察に通報しといた。
会社や学校に最後の挨拶をしておいた方が良い。
382デフォルトの名無しさん:2010/07/21(水) 07:58:40
publicにしても通りません
本当に通らないんです

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
TESTcls[,] test = new Testcls[100,100];
test[1,1].a = 2; ここの.の後にaが通らない
}
}

public class TESTcls
{
int a;
int b;

TESTcls(){ a = 1; b = 1; }
}
383デフォルトの名無しさん:2010/07/21(水) 08:01:16
384デフォルトの名無しさん:2010/07/21(水) 08:29:00
まずクラスを理解してないでしょ
385デフォルトの名無しさん:2010/07/21(水) 08:32:57
>>382
なかなか面白いw
386デフォルトの名無しさん:2010/07/21(水) 09:17:44
ネタとしてはつまらない
387デフォルトの名無しさん:2010/07/21(水) 09:18:45
int a;



public int a;
388デフォルトの名無しさん:2010/07/21(水) 09:53:11
>>387
ありがとうございました!
389デフォルトの名無しさん:2010/07/21(水) 09:57:47
>>388
うん
390デフォルトの名無しさん:2010/07/21(水) 09:58:09
それは、、コンパイルは通るかも知れんが>>359だな
391デフォルトの名無しさん:2010/07/21(水) 10:31:09
>>375
これのどこがまずいんだよ。
数値として扱えるから署名が正しいかどうか検証できて、返って全く怪しくない利用方法で役立てられるだろ。
名前からしてただの多倍精度整数型だしな。
392デフォルトの名無しさん:2010/07/21(水) 11:43:01
>>390
TESTcls[,] test
の中が全部nullです。どうすればいいんですか?

for(int x=0;x<100x++){
for(inty=0;y<100;y++){
test[x,y] = new TESTcls()
}
}

TESTcls.TESTcla()はアクセスできない保護レベルですと出てしまいます
393デフォルトの名無しさん:2010/07/21(水) 11:44:39
なんていうか、こう見ててイライラするコードだなw
394デフォルトの名無しさん:2010/07/21(水) 11:52:34
newしろって
395デフォルトの名無しさん:2010/07/21(水) 11:54:36
ままーTESTclsはどこから産まれてくるのー
396デフォルトの名無しさん:2010/07/21(水) 12:04:08
ループ抜けた後、
test[1,1].a にはアクセスできるだろ?
397デフォルトの名無しさん:2010/07/21(水) 12:12:53
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
TESTcls[,] test = new Testcls[100,100];
#test[1,1].a = 2; インテリセンスは通ったがインスタンスが無いと言われる

#TESTcls.TESTcla()はアクセスできない保護レベルでコンパイルできない間違え
#for(int x=0;x<100x++){
#for(inty=0;y<100;y++){
#test[x,y] = new TESTcls();
#}
#}

for(int x=0;x<100x++){
for(inty=0;y<100;y++){
test[x,y].a = 2; インスタンスが無いと言われる
test[x,y].b = 2; インスタンスが無いと言われる
}
}
}
}

public class TESTcls
{
public int a;
public int b;

TESTcls(){ a = 1; b = 1; }
}
どこで何をnewすればいいんですか?そもそもTESTcls[,] test = new Testcls[100,100]でインスタンスが無いのが納得できません
398デフォルトの名無しさん:2010/07/21(水) 12:15:10
public TESTcls(){ a = 1; b = 1; }
そういえば多次元配列なんか最初にC#勉強して以来使ったことないわ
399デフォルトの名無しさん:2010/07/21(水) 12:16:33
>>398
拙者も拙者も〜
400デフォルトの名無しさん:2010/07/21(水) 12:16:47
>>397
だからnewしてねぇつってんだろwwwwwwwwww
401デフォルトの名無しさん:2010/07/21(水) 12:23:19
クラス作ったらコンストラクタ書け
402デフォルトの名無しさん:2010/07/21(水) 12:23:48
いつも思うんだが、VIP以外の板で語尾にやたら「w」を付けたがる人って何考えてるの?
おかしいって受け取れるんだが、我輩だけ?
403デフォルトの名無しさん:2010/07/21(水) 12:24:33
拙者は気にならないでござるよ
404デフォルトの名無しさん:2010/07/21(水) 12:25:33
小生も特に気にならないが。
405デフォルトの名無しさん:2010/07/21(水) 12:25:47
主のスレなので第三者が文句を言うべきではないかと某は思うのであった
406デフォルトの名無しさん:2010/07/21(水) 12:27:09
吾人も気になりませぬ。
407デフォルトの名無しさん:2010/07/21(水) 12:27:37
多次元配列は最初の頃こそ他のC系と比べたC#の特徴的な機能として紹介されてたが
今では見向きもされなくなったな。扱いづらいだけ。
使ったらFxCopで警告が出るという悲惨な状況
408デフォルトの名無しさん:2010/07/21(水) 12:30:45
それがしも特に気に留めることは無かろう
409デフォルトの名無しさん:2010/07/21(水) 12:31:30
そうでござるな
410デフォルトの名無しさん:2010/07/21(水) 13:21:35
にんにん
411デフォルトの名無しさん:2010/07/21(水) 13:23:45
面白いと思ってるの?
412デフォルトの名無しさん:2010/07/21(水) 13:24:33
貴殿よりはよほど
413デフォルトの名無しさん:2010/07/21(水) 13:25:26
そうでござるな
414デフォルトの名無しさん:2010/07/21(水) 14:12:27
w = 笑
w = ^^

この見え方の違いだと思う
415デフォルトの名無しさん:2010/07/21(水) 14:22:47
で?
416デフォルトの名無しさん:2010/07/21(水) 14:48:23
でっていう
417デフォルトの名無しさん:2010/07/21(水) 17:58:26
RSS1.0を解析したいのですが、何を使うのが簡単ですか?
418デフォルトの名無しさん:2010/07/21(水) 19:51:39
visual studio以外にメジャーな開発環境は在りますか?
419デフォルトの名無しさん:2010/07/21(水) 19:55:40
netbeans
eclipse
420デフォルトの名無しさん:2010/07/21(水) 20:01:24
PythonとRuby用にNetBeans使ってるけど更新する度にどんどん重くなってくな
結局Gedit使う頻度高くなる
421デフォルトの名無しさん:2010/07/21(水) 20:29:51
>>400
だめですわかりません。何をnewすればいいんですか?
422デフォルトの名無しさん:2010/07/21(水) 20:40:58
>>421
人生
423デフォルトの名無しさん:2010/07/21(水) 20:48:46
>>421
TESTcls[,] test = new Testcls[100,100];
の行でも、その次の行でもいいのでブレークポイントを置いてtestの中身を確認すれば
全部nullになってることがわかるはず。
あとは各要素をnewするだけ。
424デフォルトの名無しさん:2010/07/21(水) 21:08:16
>>420
環境違うじゃん
425デフォルトの名無しさん:2010/07/21(水) 21:09:30
for (int i = 0; i < test.GetLength(0); i++)
for (int j = 0; j < test.GetLength(1); j++)
test[i,j] = new TESTcls();
426デフォルトの名無しさん:2010/07/21(水) 21:15:01
C#でグリッドって言うと、DataGridView 以外に何かありますか?
427デフォルトの名無しさん:2010/07/21(水) 21:29:14
DataGrid
あとはGrapeCityとかのサードパーティ製のとか
428デフォルトの名無しさん:2010/07/21(水) 21:51:49
FlexibleGridだろ
429デフォルトの名無しさん:2010/07/21(水) 22:01:13
WPFのGrid
430デフォルトの名無しさん:2010/07/21(水) 22:15:27
>>425
だめです
test[i,j] = new TESTcls();
やはりここでTESTcls.TESTcls()はアクセスできない保護レベルになっていますとエラーが出ます
助けてください。
431デフォルトの名無しさん:2010/07/21(水) 22:20:01
コンストラクタをPublicにしれ
432デフォルトの名無しさん:2010/07/21(水) 22:24:15
>>431
できましたーーーーーーーーーーーーーーーーーーーーー
多次元配列とかまったく関係ありませんでしためちゃくちゃはずかしいです
ありがとうございました!!!!!!!!!!!!
433デフォルトの名無しさん:2010/07/21(水) 22:49:23
>>432
今回犯した失敗を短くまとめてみろ
434426:2010/07/21(水) 23:00:54
>>427〜429
ありがとうございます。参考になりました。
とりあえずDataGridから始めてみます。
435デフォルトの名無しさん:2010/07/21(水) 23:01:09
インデクサでジェネリックを使いたいのですが下の書き方だとエラーがでてしまいます
インデクサでジェネリックは使えないのでしょうか?

public T this<T>[string key]
{
get {}
set {}
}
436デフォルトの名無しさん:2010/07/21(水) 23:01:39
何かしらんが ボンボンハウスとかいうところに飛ばされるんだが
437デフォルトの名無しさん:2010/07/21(水) 23:03:53
>>434
DataGrid(WinFormの)はネタとしてあげただけだから始めなくて良いよ
438デフォルトの名無しさん:2010/07/21(水) 23:07:11
>>435
使えないけど、使えたとして呼び出し側をどう書くつもりだよw特にsetするとき
439デフォルトの名無しさん:2010/07/21(水) 23:39:57
>>438
aaa<T> = 10;
こんな感じですかね・・・
ともかくありがとうございました。他の方法を探してみます
440デフォルトの名無しさん:2010/07/22(木) 00:58:00
>>433
はい。人の言うことを聞いてないのが原因でした
クラスを理解していません。

でも納得できません。なぜ

TESTcls[,] test = new Testcls[100,100];



test[x,y] = new TESTcls();

で、
2段階もnewしないといけないんですか?
TESTcls[,] test = new Testcls[100,100];
これでインスタンスが出来ていると普通考えるとおもうんですが何とかして一つにまとめる方法はありませんか
441デフォルトの名無しさん:2010/07/22(木) 01:01:05
お前の常識は世界の常識ではない
442デフォルトの名無しさん:2010/07/22(木) 01:02:49
>>440
TESTcls[,] test = new Testcls[100,100]; //100x100サイズの空っぽの表を作る
test[x,y] = new TESTcls(); //表の座標x, yに新しく作ったインスタンスを指す参照を入れる

型TESTcls[,]のインスタンスは具体的な大きさの定まっているTESTclsの変数の領域。
対して型TESTclsのインスタンスはTESTcls型のオブジェクトを指している値の領域。
TESTcls型の変数が100x100=10000個あっても、そのひとつひとつがnullならないもないんだよ。
443デフォルトの名無しさん:2010/07/22(木) 01:12:49
値型と参照型の違いでもある。

値型なら 1 段階でいける。つまり、
int[,] hoge = new int[10,10];
とかならそのまま使える。
444デフォルトの名無しさん:2010/07/22(木) 01:33:39
>>442
配列newは参照型の入れ物を作るだけという仕様なんですね

object[,] test = new object[100,100];
test[x,y] = new TESTcls();

これで通ったので完璧に理解できました。ありがとうございました
445デフォルトの名無しさん:2010/07/22(木) 01:39:41
>>443
ありがとうございます
これからは参照の配列作成時は全部object型にすることにします。これですっきりします。
446デフォルトの名無しさん:2010/07/22(木) 01:46:23
>>445
何その斜め上な発想。
447デフォルトの名無しさん:2010/07/22(木) 01:55:10
ここまで行ったらさすがにネタだろw
448デフォルトの名無しさん:2010/07/22(木) 06:56:29
ワロタwww
449デフォルトの名無しさん:2010/07/22(木) 11:19:39
ワロチwww
450デフォルトの名無しさん:2010/07/22(木) 11:51:31
ワロッシュw
451デフォルトの名無しさん:2010/07/22(木) 12:28:55
ばーか
つまんねえって
452デフォルトの名無しさん:2010/07/22(木) 12:31:41
間違ってはいない
453デフォルトの名無しさん:2010/07/22(木) 14:22:22
何この流れ
454デフォルトの名無しさん:2010/07/22(木) 14:24:29
荒らされてる・・・のか?
455デフォルトの名無しさん:2010/07/22(木) 16:08:31
EXCEL連携でget_Rangeで取得したセルに対するメソッド一覧のヘルプはどこにあるんですか?
ダイナミックヘルプに出てきません
456デフォルトの名無しさん:2010/07/22(木) 17:09:32
FileStreamなどを使った時、
Dispose()を呼べばClose()する必要はないのでしょうか?
せっかく using(){}を使っても、その中でtry〜catchでClose()は変な感じなので。

また、Close()とDispose()の違いは、
Close()してもオブジェクトはそのまま使えるけど、
Dispose()をしたらそれ以降はオブジェクトを使えないと言うでしょうか?
457デフォルトの名無しさん:2010/07/22(木) 17:34:43
MSDNのDisposeの説明では、実質CloseはDisposeの別名として定義してたはず
458デフォルトの名無しさん:2010/07/22(木) 17:48:55
うん
459デフォルトの名無しさん:2010/07/22(木) 20:14:21
closeだけやってもロックが解除されない
460デフォルトの名無しさん:2010/07/22(木) 21:48:44
んなこたーない。
それはそれとして、Fileクラスの静的メソッドを使えるならそっちを使うべき。
461456:2010/07/22(木) 23:57:23
>>457
混乱しそうなので、基本は Dispose() で統一します。

ちなみにFileStreamを継承してみましたが、
Close()とDispose()を呼ばないでフォームを落とすと
Dispose(bool)だけ呼ばれますね。なんでだろ。
462デフォルトの名無しさん:2010/07/23(金) 00:12:02
Dispose(またはClose)が明示的に呼ばれた場合はDispose(bool)の引数はtrueで
GCによってファイナライザが呼び出された場合はfalseになるお約束
後者の場合は、参照先のオブジェクトのファイナライザが既に呼び出されている可能性があるので
絶対に他のマネージオブジェクトにアクセスしてはいけない
463デフォルトの名無しさん:2010/07/23(金) 00:50:09
うんファイナライザないオブジェクトならいいけどね
464456:2010/07/23(金) 01:49:45
>>462
呼び出し元はGCでしたか。なるほど。
465デフォルトの名無しさん:2010/07/23(金) 03:27:33
ちょっとスレ違いかもしれませんが、質問させて下さい。

VS2005を使っているのですが、
気が付くといつの間にか、VSでソースファイルを開いた時に、
通常であれば【クラス名】と【そのクラスの中に存在するメソッドの一覧】が
画面上部にプルダウン形式で表示されていると思うのですが
それが表示されなくなりました。

どうすれば元に戻りますか?
466デフォルトの名無しさん:2010/07/23(金) 09:48:46
Syste.Net.Sockets.SocketってSendして相手が受け取るのを待ってる間に自分の方はReceiveやろうとすると
相手も同じようなことをやってると
たぶんReceiveはSendが完了するのを待っててお互いSendが完了しないせいで
デッドロックするの?
467466:2010/07/23(金) 10:45:23
そういうわけでもないみたいだな
同時にやっても動いてる時は動いてる
何かのタイミングで突然Sendしなくなる
しかもすべてのソケットが一斉に
なんぞこれ
Console.Writeしてデバッグしようとすると止まらないから分からない
なんぞこれ
468デフォルトの名無しさん:2010/07/23(金) 10:51:47
>>465
VS2005スレいけ
469デフォルトの名無しさん:2010/07/23(金) 10:53:36
スレッドプール使い切ったとか?
470466:2010/07/23(金) 11:09:11
原因判明したlockでデッドロックしてた
471デフォルトの名無しさん:2010/07/23(金) 11:19:34
くたばってしまえ
472デフォルトの名無しさん:2010/07/23(金) 13:50:40
デバッグ時に Form_Load で例外が発生した場合、
何事もなかったようにFormが起動するのですが、どうしてでしょうか?
EXEで動かすと、エラーで落ちます。
473デフォルトの名無しさん:2010/07/23(金) 14:05:39
Form_Loadは非同期で実行されるから失敗しても画面は出てくる
474デフォルトの名無しさん:2010/07/23(金) 17:18:37
別クラスからのForm内のTextBoxへのアクセスについて教えてください。
(VB2005:C#)

Windowsアプリを作成しています。
Form1にbuttonを配置しており、クリックで処理をおこなっています。
またTextBoxには上記の処理の状況を表示するようにしています。

クリックでの処理の部分は煩雑にしたくないので、別途クラスを用意して
処理の部分をクラスのメソッドとしたいのですが、その際にTextBoxへの表示の
部分(A.Text=m)でコンパイルエラーがでます。

このような場合の対処方法について教えてください。
475デフォルトの名無しさん:2010/07/23(金) 17:29:27
方法に気を使ってるようだから言うけど、そんなことはしないのが正しい
テキストボックスなんか実装の詳細だから他のクラスから弄るという発想が間違っている
フォームクラスにプロパティを定義してgetとsetの中でA.Textを取得設定する
476デフォルトの名無しさん:2010/07/23(金) 17:43:17
テキストボックスの参照をクラスに渡せばおk
477デフォルトの名無しさん:2010/07/23(金) 17:46:29
あちこちからコントロールを直接触ったりすると余計に煩雑になる
イベントハンドラに直接書きたくないんだったら別のクラスになんてせずにフォーム内でメソッド分ければいいだけ
478デフォルトの名無しさん:2010/07/23(金) 17:50:31
何のために別のクラスにするのかってことだよ
処理状況の通知のためだけに無駄にUIに依存させちゃもったいない
フォームクラスを渡すよりはテキストボックスを渡す方がマシだが
何も渡さずにイベントなどで通知するのが最善
479デフォルトの名無しさん:2010/07/23(金) 17:51:15
クラスに状況プロパティを設けて
別スレッドで処理を実行して
フォームのタイマーコントロールで状況プロパティを取得して
テキストボックスに描画する。
超クール。
480デフォルトの名無しさん:2010/07/23(金) 20:20:59
>>475
そういうGUIに依存するようなクラスを作るのは糞設計の典型だよ。

「GUIが」データを持ってるクラスに依存するのはOK。
データを持ってるクラスが「GUIに」依存するのは普通の神経してたら
やりたいと思わない。
481デフォルトの名無しさん:2010/07/23(金) 21:03:11
想定しているレベルがみんな違うんだし、
それを定義しないで議論しても、結論は一致しないと思います。
482デフォルトの名無しさん:2010/07/23(金) 21:07:09
別にVB的にやりたければそれでもいいけど
煩雑にしたくないからクラスにしたとか言ってる以上は仕方ない
483デフォルトの名無しさん:2010/07/23(金) 21:08:55
じゃ、どうすれば一番スマートなの?
484デフォルトの名無しさん:2010/07/23(金) 22:19:50
>>474
1.即座に表示が必要な場合は
クラスにイベントを作ってイベントハンドラでメッセージを受け取って表示

2.表示より処理そのものの速度が重要な場合
クラスにメッセージをStringに溜め込んでおいてフォームで
タイマーを使って表示する

3.即座に表示しつつも速度も重視する場合
System.Dignostics.Debugを使う
テキストボックスをリスナーに登録してクラスでDebug.WriteLineする

Debug.Listenerと同じものを自分で作る
485デフォルトの名無しさん:2010/07/23(金) 22:47:41
>>484
理想的な形だと思われるものが、現実的には理想的ではない典型的なパターンかな。

>>474
メソッドに直接書くか、クラスにTextboxを引数で渡しちゃいなさい。
理想を求めると、それが煩雑の原因になる可能性がある。処理も重くなるし。
486デフォルトの名無しさん:2010/07/23(金) 22:53:44
ネットだと、コントロールをpublicにする方法ばかりがあって、>>474の具体的にわかりやすいページがみつからない。
487デフォルトの名無しさん:2010/07/23(金) 22:57:07
>>485
何を分かったようなこと言ってんの。
煩雑(可読性を損なう)ことがないための「理想」なんだよ。

処理の重さ?
TextBox一つの更新ごときでどうやりゃそんなに重くなるんだよアホかw
488デフォルトの名無しさん:2010/07/23(金) 22:58:00
つか内部クラスにすればええやんけ
489デフォルトの名無しさん:2010/07/23(金) 23:14:56
>>485
それが一番だめなパターンだな
作りっぱなしで終わるならいいけど
クラスライブラリでまとめられるように設計しとけば言語が進化しても使いまわしが出来る
それとコンソールアプリ化が一瞬で出来る点は大きい
デバッグしやすい
490デフォルトの名無しさん:2010/07/23(金) 23:15:08
あのー頭のイイ方で言い争わないで、具体的なコードをだして話してよ。
491デフォルトの名無しさん:2010/07/23(金) 23:34:57
アホの子に算数を教える時には買い物に喩えろって話かねw
アホの子ってなんで抽象論理解できないのかね
492デフォルトの名無しさん:2010/07/23(金) 23:38:50
たとえ下手なやつにも抽象論はできぬw
493デフォルトの名無しさん:2010/07/23(金) 23:40:32
仕事で規則が決まってるんでなければ個々のポリシーの話になるから無駄の一言
だから動けばいいよ
手間と結果が自分でペイしてると思うならそれでいい
494デフォルトの名無しさん:2010/07/23(金) 23:43:55
>>486
publicにしろってことだよ
言わせんな面倒臭い
495デフォルトの名無しさん:2010/07/24(土) 00:38:28
そんなに発展をスルーされたのがくやしいのか?
496デフォルトの名無しさん:2010/07/24(土) 00:39:16
>>487 >>489
いろんなことを想定して実装した80%が無駄だ。
497デフォルトの名無しさん:2010/07/24(土) 06:45:22
(*´‐`) みんな穏やかになろう!
498デフォルトの名無しさん:2010/07/24(土) 07:59:46
ソースが長ったらしくなるのが嫌なら
もともとpartial classなんだから、さらにソースファイルを分ければいい
499デフォルトの名無しさん:2010/07/24(土) 09:03:55
悪い順に
・テキストボックスをpublicにしてフォームごと渡す
・フォームにプロパティ付けてフォームごと渡す
・テキストボックスだけ渡す
・渡さないで外から監視
あとは手間次第
500デフォルトの名無しさん:2010/07/24(土) 09:20:58
WPF使ってViewModelでやり取りするベスト(゚∀゚)
501デフォルトの名無しさん:2010/07/24(土) 09:28:12
無意味
モデルの状態の変更をViewModelに通知する仕組みが必要になるから同じこと
502デフォルトの名無しさん:2010/07/24(土) 09:33:55
へ?
ViewModelが何か意味わかってる?
503デフォルトの名無しさん:2010/07/24(土) 09:35:15
通知ぐらいRx使うなりなんなりでobちゃんパターン使えよ
504デフォルトの名無しさん:2010/07/24(土) 09:35:58
だから、モデルを監視する人がフォームからViewModelに変わっただけでしょ
ViewModelに本質的な処理を書くのは御法度
505デフォルトの名無しさん:2010/07/24(土) 09:39:54
ViewModelは「抽象化されたUI」なので、ViewModelにデータを操作したりするロジックを書くのは
フォームに全部書くのと大差ない
506デフォルトの名無しさん:2010/07/24(土) 09:41:14
処理はViewModelの仕事だろう…
相互の橋渡しがViewModelの役目なのに何をいってるだよ…
抽象化されたUIとか何をいってるんだ?
Prismのサンプルソースでもいいからみろよ
507デフォルトの名無しさん:2010/07/24(土) 09:42:23
ViewModelがフォームと同じとか言ってる奴はここでもよめw
ttp://www.itarchitect.jp/methodology_and_design/-/38302.html
508デフォルトの名無しさん:2010/07/24(土) 09:43:36
旦那、、それMVCですがな…
いや、ViewModelの役目の説明の一役にはなってますけどね…
509デフォルトの名無しさん:2010/07/24(土) 09:45:31
>>474は結局モデルの状態をビューに反映したいわけだろ?
橋渡しってことは結局どこかでViewModelがModelを監視しなきゃいけない
510デフォルトの名無しさん:2010/07/24(土) 09:48:31
だからRxつかってObserverをモデルに仕込んでViewModelで公開通知しろよ
何でViewに書くのと同じになるのやら
ViewはViewだろ
511デフォルトの名無しさん:2010/07/24(土) 09:49:37
だからイベントなりRxなりコールバックなり、その通知方法の話をしてるんだろうw
その問題にViewModelは関係ない
512デフォルトの名無しさん:2010/07/24(土) 09:52:01
関係ないって・・・
もしかしてModelからViewに直接通知すんのか?
んなわけねぇよな?
513デフォルトの名無しさん:2010/07/24(土) 09:55:00
Rxってなーに?
514デフォルトの名無しさん:2010/07/24(土) 09:55:10
だから通知を受ける側がViewModelだろうがフォームだろうがUIと関係ないクラスだろうが
通知方法の話としては一緒だという意味だよ
515デフォルトの名無しさん:2010/07/24(土) 09:56:28
>>513
車の事
通知は徒歩よりも車使えって事をいってるのさ
516デフォルトの名無しさん:2010/07/24(土) 10:01:50
>>507
そんなものがあるとは知らなかったが
model-viewだけだとやり難い場面があるなと思って
modelとviewを制御する部分を独立させるってのは自然にやってたな
そうすると両方を継承したクラスでも違和感無く連携が取れる
modelとviewは一方向制御とは限らないからね
制御ルールはcontrolに隠蔽してしまうとやりやすい
517デフォルトの名無しさん:2010/07/24(土) 10:08:06
>>515
いぢわる
518デフォルトの名無しさん:2010/07/24(土) 10:08:51
MVVMでもINotifyPropertyChanged通してるんだから何かが違うわけじゃない
519デフォルトの名無しさん:2010/07/24(土) 10:16:42
今の時代自分の作ったものがOpenSourceになる可能性がけっこうあるし
ソースが無いものなんか使えるかソース出せやゴルァって
何様か分からないようなのがうようよしてるし
結局中身をパクリたいだけなんだろうけど
まあいいや、とにかくソース公開した時に恥ずかしい形にしたくないから
いろいろと工夫してると自然に綺麗な設計になってくるんだと思います
520デフォルトの名無しさん:2010/07/24(土) 11:53:07
>>499
Formを継承してイベントは子クラスでって言うのもあるかな
521デフォルトの名無しさん:2010/07/24(土) 12:03:53
もとの質問>>474が書いてあるとおりの処理なのか、
もっと複雑な処理があって質問のために簡略化しているかで、
回答は変わってくるね。
522デフォルトの名無しさん:2010/07/24(土) 20:54:23
リフレクションを使って変数の参照を取得するにはどのメソッド使えばいいんでしょうかー
523デフォルトの名無しさん:2010/07/24(土) 20:56:44
ローカル変数なら無理
フィールドならType.GetField
その前にDictionaryが使えないか検討すること
524デフォルトの名無しさん:2010/07/24(土) 21:01:30
>>523
ありがとござーます!
Dictionaryを使うケースってどういう事でしょうかー
525デフォルトの名無しさん:2010/07/24(土) 22:05:05
2.0の時みたいな、ローカルにインストールされるドキュメントって今はもう無いんですか?
526デフォルトの名無しさん:2010/07/24(土) 22:09:06
あるよ。
527デフォルトの名無しさん:2010/07/26(月) 09:35:14
IDisposable なオブジェクトは、全て Dispose() する必要はありますか?

例えば以下のサンプルでは、WebClientをDispose()していませんが、必要ないのでしょうか?
ttp://msdn.microsoft.com/ja-jp/library/system.net.webclient.aspx
528デフォルトの名無しさん:2010/07/26(月) 09:46:48
WebClientはデザイナでフォームに貼りつけたりできるようにするためにComponentを継承していて
ComponentがIDisposableを実装しているから伝染してるだけ
ComponentのDisposeの実装も単なるスケルトンなので特に実質的な意味はない
529デフォルトの名無しさん:2010/07/26(月) 10:39:58
>>528
なるほど。全部が全部呼ばなくて良いわけですね。ありがとうございます。
すぐに解放の必要があるリソースがある時だけ呼べばいいか。
530デフォルトの名無しさん:2010/07/26(月) 13:49:55
しかし普通はそのオブジェクトがすぐに解放の必要があるリソースを持っているかどうか
判断できないのでIDisposableは使い終わったら取り敢えずDisposeすることにするのが無難
(「使い終わった」の判断が難しいものもあるけど)
あとサンプルに書かれてないから不要って考えはやめるべき
531デフォルトの名無しさん:2010/07/26(月) 13:51:22
サンプルに書いとけって話だけどな
532デフォルトの名無しさん:2010/07/26(月) 15:19:21
解放がアプリ終了と同時でいいならしなくていいし
即解放しないと排他制御とかで問題がある場合は解放する
533デフォルトの名無しさん:2010/07/26(月) 20:24:03
.net3.5です
WebBrowserコンポーネントでファイルではなくstringの値を指定して開くことは可能でしょうか
string = hogehoge; // 中身はhtmlソース
534デフォルトの名無しさん:2010/07/26(月) 20:31:30
DocumentText
535デフォルトの名無しさん:2010/07/26(月) 20:39:25
>>534
ありがとうございました
536デフォルトの名無しさん:2010/07/26(月) 23:40:49
リフレクションで取得したメソッドを実行することは出来るのですが、
いつ実行されるか分らないジェネリックメソッドが実行された際に、引数(可変個数)、戻り値を取得・記録するにはどうしたらいいでしょうか?
537デフォルトの名無しさん:2010/07/27(火) 00:22:05
アスペクト指向プログラミングの世界へようこそ
538デフォルトの名無しさん:2010/07/27(火) 00:42:54
その辺はプロファイラの出番じゃね?
539デフォルトの名無しさん:2010/07/27(火) 09:39:26
ProxyAttributeとか使って外から突っ込んだりはできる
540デフォルトの名無しさん:2010/07/27(火) 11:52:16
ほとんどハックの領域だな
541デフォルトの名無しさん:2010/07/27(火) 12:35:51
ボックス化って何のためにあるの?
542デフォルトの名無しさん:2010/07/27(火) 12:41:21
参照型に値型を入れる為
543デフォルトの名無しさん:2010/07/27(火) 13:10:08
つまり混乱させるためってことか
544デフォルトの名無しさん:2010/07/27(火) 13:45:23
お前にとってはそうなんだろ
545デフォルトの名無しさん:2010/07/27(火) 13:48:55
動的クラスの動的メソッドは、そのクラスのインスタンスの数に準じた個数作成されるのでしょうか?

例えば、動的メソッドMをもつクラスAのインスタンスを大量に作成すると、Mも大量に作成されてしまう
のでしょうか?
546545:2010/07/27(火) 13:53:09
言葉が足りませんでした。
簡単に言うと、たくさんメモリ食っちゃうの?ってことです
547デフォルトの名無しさん:2010/07/27(火) 14:19:21
動的クラス、動的クラスの動的メソッド どういう意味で使ってるの?
静的クラスを動的にインスタンス化してるだけなのか、Reflection.EmitとかCodeDomで型から生成してるのか…
548デフォルトの名無しさん:2010/07/27(火) 14:46:58
リフレクションとかは使っていません。
上の例でいうと、
class A
{
  ...
  public void M()
  {
   ...
  }
}

A[] a = new A[1000];
のように使用した場合です。
549デフォルトの名無しさん:2010/07/27(火) 14:59:10
どれだけ大量に作っても変わらない。
そういうのは普通にクラス・メソッドって言う方がいい。動的って言うと別の意味になる。
550デフォルトの名無しさん:2010/07/27(火) 15:06:05
>>548
最適化してくれるかもしれないけど、食ってる気がする。
試しに1000個くらいメソッドを持ったクラスを定義して測定してみてよ。

>>549
ホント?元ネタとかある?
昔からよくある話だけど、実際のところ結論を聞いたことがないので。
551デフォルトの名無しさん:2010/07/27(火) 15:06:06
クラスメソッドってインスタンス化しなくても使えるメソッドのことじゃない?
552デフォルトの名無しさん:2010/07/27(火) 15:07:20
ありがとうございます。

静的に対して動的だと思ってました。大変失礼しました><
553デフォルトの名無しさん:2010/07/27(火) 15:14:11
>>551
スマン、書き方が悪かった。

クラス・メソッドで一語じゃなくて
「動的クラス、動的メソッド」ではなく、それぞれ「クラス、メソッド」と言うべき って意味だった。
554デフォルトの名無しさん:2010/07/27(火) 15:14:56
>>551 オレもそう思う

>>549 の根拠はオレも後学のために教えてほしいなぁ
555デフォルトの名無しさん:2010/07/27(火) 15:18:14
やってみりゃいいじゃん。
556デフォルトの名無しさん:2010/07/27(火) 15:19:40
下記のソースコードをコンパイルしてSample.exeを作成しました。コマンドラインに「Sample.exe hello 1000」と入力してそれぞれの引数を出力したいのですが
2つめの引数が表示されず、また引数がない状態「Sample.exe」で実行した場合エラー(インデックスが配列の境界外です)が出てしまいました。
foreachを使わずに、cmds[0]、cmds[1]のような形で利用したいのですがどなたかご教示お願い致します。
using System;
class Sample {static void Main() {
string[] cmds = Environment.GetCommandLineArgs();
if (cmds.Length > 0) {
Console.WriteLine(cmds[1]);// helloと表示させたい
Console.WriteLine(cmds[2]);// 1000と表示させたいのですが、表示されません
} else {Console.WriteLine("引数はありません");// 引数がない場合に表示させたい}
}}
557デフォルトの名無しさん:2010/07/27(火) 15:21:28
> cmds[0]、cmds[1]のような形で利用したいのですが
558デフォルトの名無しさん:2010/07/27(火) 15:21:47
デバッグしろよ…
559デフォルトの名無しさん:2010/07/27(火) 15:28:20
俺は「オブジェクト指向でなぜつくるのか」っていう本で学んだが、
別のインスタンスでもメソッドの処理は全く同じ。違うのは
メソッドに与えるパラメータなので、メソッドそのものは1つしか作られない。

http://ameblo.jp/syou007/entry-10023299808.html
メソッドについてはここの最後の部分にも書いてあるな。
560デフォルトの名無しさん:2010/07/27(火) 15:32:13
561デフォルトの名無しさん:2010/07/27(火) 15:35:11
まぁ、別に内部動作なんて知らなくても、常識的に考えて不変で共通なやつをいくつも作るわけないじゃん
562デフォルトの名無しさん:2010/07/27(火) 15:39:40
メソッドへのポインタ分くらいはメモリ食うのでは?
563デフォルトの名無しさん:2010/07/27(火) 15:45:37
>>561
オブジェクトとして考えた場合、共通化ない方が自然なんだよ。
564545:2010/07/27(火) 16:02:06
テストしてみました。
public class A
{

}
565デフォルトの名無しさん:2010/07/27(火) 16:05:30
終わりかよ
566デフォルトの名無しさん:2010/07/27(火) 16:08:49
途中で書き込んでしまいました。

public class A
{
  public int Methodxxxx() //xxxx: 0001〜1000
  {
    return xxxx;
  }
}

public static class A_Static
{
  public static int Methodxxxx() //xxxx: 0001〜1000
  {
    return xxxx;
  }
}

AまたはA_Staticを100000個作成し、
全Methodxxxxを1回ずつ実行ました。
GC.GetTotalMemory(false)でインスタンス作成前と全Methodxxxx実行後のメモリ使用量を比較すると、
Aの場合、1299820 bytes
A_Staticの場合、1566996 bytes
でした。
567デフォルトの名無しさん:2010/07/27(火) 16:09:46
失礼、
×publi static class A_Static
○public class A_Static
です。
568デフォルトの名無しさん:2010/07/27(火) 16:31:56
>>562
メソッドへのポインタ× メソッドテーブルへのポインタ○
メソッドが1個だろうと1000個だろうと、インスタンスのサイズは一定。
メソッドテーブルは当然メソッドの数だけ大きくなるけど、インスタンスのサイズは一定。
569デフォルトの名無しさん:2010/07/27(火) 16:39:05
>>566
お疲れさま。毎回同じように後者の方が大きくなるなら、興味深い。
570デフォルトの名無しさん:2010/07/27(火) 17:03:01
正直、すごくどうでもいい
571デフォルトの名無しさん:2010/07/27(火) 17:08:50
virutual methodのことかな?C++だとvirutual methodが増えるとオブジェクトサイズは増える。
C#についてはどうなのかと考えて、一度測定してみたことがある。
結果は意外なことに、増えなかった。つまりメソッドをVirtualにするかどうかにあたっては
メモリ消費を考慮にいれる必要はないということになる。
572デフォルトの名無しさん:2010/07/27(火) 17:10:35
ああ、ごめん。動的メソッドって非Staticなメソッドのことか。
勘違いした。失礼。
573デフォルトの名無しさん:2010/07/27(火) 17:16:25
だからなに?って感じ
574デフォルトの名無しさん:2010/07/27(火) 17:46:04
理解できないなら黙ってればいい
575デフォルトの名無しさん:2010/07/27(火) 17:48:02
>>573
きみがね。
576デフォルトの名無しさん:2010/07/27(火) 17:48:43
だからなに?って感じ
577デフォルトの名無しさん:2010/07/27(火) 17:55:12
>>573>>566宛て?
578デフォルトの名無しさん:2010/07/27(火) 22:11:42
例えば長大なメソッドが大量にあるクラスをインスタンス化したら、
大量のメソッドがコピーされるのか?
なんのために?
ありえない。
579デフォルトの名無しさん:2010/07/27(火) 22:14:49
参照型の各インスタンスが持ってるのは、同期ブロックインデックスと型ハンドルのみ。
580474:2010/07/28(水) 00:57:33
亀レスになりましたが、解決しました。
値の参照はエラーになり断念しました(たぶんイベントと関連がありそう)が、イベントを使って機能を実現しました。
ご助言いただいた方々、ありがとうございましたm(__)m
581デフォルトの名無しさん:2010/07/28(水) 02:04:21
>>578
無知って怖いわ〜。そのポリシーで仕事されたらたまらんわ。
メリットがデメリット、デメリットがメリット。わかる?
>>563 の言う通り、ある有名な言語は、まさにメソッドが大量にコピーされる。
もちろん、メモリ節約の手段はある。
さて、この言語は何でしょう?
582デフォルトの名無しさん:2010/07/28(水) 02:17:23
初心者用のスレッドですので、上から目線的クイズはご遠慮ください・・・
583デフォルトの名無しさん:2010/07/28(水) 02:26:13
>>581
言い返せない根拠>>560を示されたからって、C#と関係ない話をして荒らすな無能。
無知って怖いわ〜。そのポリシーで仕事されたらたまらんわ。
584デフォルトの名無しさん:2010/07/28(水) 03:18:44
動的型付け言語で一番馴染み深いのはECMAScriptか
C++/Java/C#なんかの静的型付け言語からすると随分設計思想が違う

ま、それだって今時は高速化の為に共有できるメソッドは共有したりするわけで
大量のメソッドがコピーされる内部動作が正しいと言う>>563は馬鹿だろ
585563:2010/07/28(水) 14:02:33
>>584
正しいなんて書いてないけど。。。そして馬鹿呼ばわりか。
工場で車(オブジェクト)を作ったら、ハンドル(メソッド)は個別にできるでしょって言う意味。
理解できない、しようとしない相手に正論語っても無駄だけどさ。
586デフォルトの名無しさん:2010/07/28(水) 14:34:58
やっぱお前馬鹿だろ。
C#スレでC#の"内部実装"の話をしてるのに、
「共通化ない方が自然なんだ」とか「ある有名な言語は、まさにメソッドが大量にコピーされる」とか
「工場で車(オブジェクト)を作ったら、ハンドル(メソッド)は個別にできるでしょ」なんて話が出てくるんだ。

君の頭では話の流れが理解できないようだな。
587デフォルトの名無しさん:2010/07/28(水) 15:38:10
新人類といわれた世代と比べてみても、取るに足らない主張に熱くなれることはやはり素敵です
でもそうやって熱くなってるとああ、この人は中身のない人なんだなと勘違いする子もいるので
気をつけてくださいね
虚しい人生を送り続けている人の中には、意味不明なことをして優位性を保持しようとする輩が稀によくいますから

あなたは怒りの感情を押し込めたりしない熱いハートの持ち主なんでしょう
そして熱いハートは行動によってのみ示され、言葉が足りないためによく大きな誤解を周囲に与えているようです
ですが悲しいかな、ここにもその熱いハートを真っ向から向き合える人間がいないようです
なので提案ですが、マックスハートスレにいかれてはどうでしょう
そうすればあなたは晴れやかなマックスハートとなりくだらない諍いもなくなるでしょう
588デフォルトの名無しさん:2010/07/28(水) 15:39:59
ばーか
つまんねえって
589デフォルトの名無しさん:2010/07/28(水) 15:57:05
正論(笑)
590デフォルトの名無しさん:2010/07/28(水) 16:11:58
( ゚д゚)< いいか、みんな


せいろ ん
っが
591デフォルトの名無しさん:2010/07/28(水) 16:23:07
>>587
意味不明なことをして優位性を保持しようとする輩 >>585
592563:2010/07/28(水) 16:44:06
>>586
>>578 が、C#だけを特定して語っているとは思えない。
こんなのも理解できない君は、まさに君が言うそれですよ。

>>591
そして妄想が始まる。
593デフォルトの名無しさん:2010/07/28(水) 18:11:26
>>592
C#はそんな非効率的な事はやっていないと結論が出たのに
スレタイ読めない馬鹿がまだ騒いでやがるwwwwww

ていうか、俺のレスじゃないやつまで俺のせいにされてもねぇ?
被害妄想甚だしい。ただの馬鹿だと思っていたがもっと深刻なようだな。
594デフォルトの名無しさん:2010/07/28(水) 18:42:41
つか内部を気にせずに使おうって感じの言語なのにそんなこと考えてたら生産性高まらないじゃん
595デフォルトの名無しさん:2010/07/28(水) 19:06:36
ある程度内部動作を知っとかないと、ただでさえ重い.net Framework上での動作がさらに重くなるだろ
596デフォルトの名無しさん:2010/07/28(水) 19:48:18
実際のとこ、本当にメソッドの本体がインスタンスの数分コピーされるような言語処理系ってあるの?
見た目でそう見えるようになってるだけで内部実装は違いそうなもんだが。
プロトタイプ的な言語だって必要なメソッドだけ参照で入れ替えればいいだけだろ?

C#だって見た目はインスタンスごとにメソッドがあるように見えるよな。
単に内部実装上そんな無駄なあほなことはしてないってだけで。
まあC#の場合はCLIの仕様の方が本来だから、内部実装詳細とは言い切れない面があるが。
597デフォルトの名無しさん:2010/07/28(水) 20:05:34
>>581が教えてくれるらしいが>>584で釘刺されて出て来れなくなったんじゃね
598デフォルトの名無しさん:2010/07/28(水) 20:08:30
>>594
気にせず使おう じゃなくて 気にしなくても使える。
つかググれば数分で答えに巡りつく程度の問題で「生産性高まらない」なんて大袈裟だなぁ
問題解決の手がかりになったりして得する事はあっても損はしないだろ。
599563:2010/07/28(水) 21:37:13
>>593
スレタイで逃げるのはいいけど、とりあえずレスを遡って見てもらってもいい?
C#ではなく、一般論から始まってるんだけど。あー、草刈は面倒だ。
600デフォルトの名無しさん:2010/07/28(水) 21:49:33
そうしたい気持ちは理解せんでもないが
578は一般論じゃないと思う
601デフォルトの名無しさん:2010/07/28(水) 22:20:53
>>599
C#の話から始まって>>545、途中で入ってきたお前さんがスレ違いの荒らしを延々とやってるわけだが。
602デフォルトの名無しさん:2010/07/28(水) 22:25:06
>>599
自分に都合の悪いレス>>596はスルーするわけね。
603デフォルトの名無しさん:2010/07/28(水) 23:09:01
webを巡回するプログラムを作成しているんですけど、mixiとかにアクセスした時に
ときどき「Webページからのメッセージ」というポップアップウィンドウが出てきてしまうページがあります。
メッセージには、「error0」もしくは「エラーが発生しました。[Object Error]」と書いてあるのですが、「OKボタン」を押すとその後問題なく動きます。
このメッセージを出さないようにしたいのですが、何かいい方法はありますでしょうか?

604デフォルトの名無しさん:2010/07/28(水) 23:19:21
何のクラス使ってるかぐらいは書け
System.Windows.Forms.WebBrowserならScriptErrorSuppressed
これでダメならIDocHostUIHandler辺り実装することになるかねぇ
605デフォルトの名無しさん:2010/07/28(水) 23:20:15
606デフォルトの名無しさん:2010/07/28(水) 23:21:39
>>563
割り込んで悪いけど、さすがに誰が考えても君の言ってることは変だ。

クラスメソッドの一番素朴な実装方法は、インスタンスのフィールドの値を保持する
構造体へのポインタを暗黙的に引数に取る方法だと思うが、
それよりどう考えても非効率な方法をとる理由が何一つない。
607デフォルトの名無しさん:2010/07/28(水) 23:25:33
つか質問と回答以外いらねえからよ
素人の見解発表会場じゃねーんだよ
608デフォルトの名無しさん:2010/07/28(水) 23:26:12
なんで初心者スレに粘着するんだよ。
頭のいい上級者さんは、MVPとねちょねちょやってろ。
609603:2010/07/28(水) 23:35:19
>>603,604
ありがとう、これでなんとかなりそうです。

610デフォルトの名無しさん:2010/07/28(水) 23:40:34
何で自分にレスしてんだよw
611063:2010/07/28(水) 23:42:14
>>604,605,610
ありがとう、これでなんとかなりそうです。
612デフォルトの名無しさん:2010/07/28(水) 23:43:05
ふうん
面白いと思うの、それ
613デフォルトの名無しさん:2010/07/29(木) 00:03:18
クイズの答えぐらい書いていってくれればいいのに
614デフォルトの名無しさん:2010/07/29(木) 01:37:39
struct ANY {
 System.Type type;
 string value;
}

上記のような構造体で、typeで型、valueで値を表しているとき、
type型のvalue値を持った、インスタンスを作るにはどうしたらいいですか?
615デフォルトの名無しさん:2010/07/29(木) 01:41:41
Type からインスタンス作るだけなら Activator.CreateInstance だけども。
文字列からの Parse もやりたいなら色々リフレクション駆使しないとダメ。

数値型なら、 int.Parse みたいなのが各型にあるから、
type.GetMethod("Parse", BindingFlags.Public | BindingFlags.Static) とかで変換関数とれるけども、
一般の型だとちょっと難しい。

WPF なんかは、TypeConverter 属性とか調べて、それに基づいて型変換してる。
616デフォルトの名無しさん:2010/07/29(木) 01:47:25
>>615
そうですね。
Activator.CreateInstance()でからインスタンスは作れるのですが、
そこにどうやって値を与えればいいのかわかりませんでした。

簡単にはいかないようですね。
617デフォルトの名無しさん:2010/07/29(木) 02:09:16
用途かぎられてるなら、使う型の分だけ Dictionary<Type, Func<string, object>> で変換関数持っとくという手はある。
618デフォルトの名無しさん:2010/07/29(木) 04:34:44
なんか俺にピッタリなスレにたどり着いた

うすうす気づいてるのだけど
C# って C++ の delete とか C の free() みたいなのって無いんだよね?
デストラクタとか Dispose() とか using (foo){ } とか用途がまったく違うんだよね?
強いて言うなら System.GC.Collect(世代); が一番幸せに近いの?

質問ばかりでごめんねすぐにVIPに帰るから許して
619デフォルトの名無しさん:2010/07/29(木) 07:53:31
GC任せにするのが一番幸せに近い。
そして空いた時間でプロファイル取ってロジック見直す方がよっぽど効果的。
620デフォルトの名無しさん:2010/07/29(木) 08:56:58
リソース持ってるならDisposeしろよ
621デフォルトの名無しさん:2010/07/29(木) 09:03:01
>>618
IDispose 実装してたらとりあえず using。

GC 強制呼び出しとかいまいち。
622デフォルトの名無しさん:2010/07/29(木) 18:44:19
Windows Vistaで、ListViewItemの選択状態をエクスプローラ風に
(ハイライト色塗りつぶしじゃなくて半透明角丸の選択状態)するのって
どうやるんですか?
623デフォルトの名無しさん:2010/07/29(木) 19:31:24
624デフォルトの名無しさん:2010/07/29(木) 20:10:48
>>377
えすてえ!!
625デフォルトの名無しさん:2010/07/29(木) 20:21:34
質問です

数千件のIPアドレスがあり全てに対してPINGを行いたいのですが
IPアドレスのネットワークが数種類ありNICの設定を変更しなければ
全てに対してPINGを行うことができません。

If(192.168.01)
{
}
elseif(192.168.100.1)
{
}

みたいな感じでIPごとにゲートウェイを指定して接続する方法て無いでしょうか
626デフォルトの名無しさん:2010/07/29(木) 20:26:32
>>623
ありがとうございます。
ところでこれは必ずWndProcでWM_CREATEをフックして実行しなければダメですか?
コンストラクタでもできたんですが
627デフォルトの名無しさん:2010/07/29(木) 20:30:48
>>625
ルーティングテーブルを設定すればいいんじゃないの。
628デフォルトの名無しさん:2010/07/29(木) 20:33:12
仮想NICを使ったほうがスマートじゃないの?
629デフォルトの名無しさん:2010/07/29(木) 20:36:25
>>626
HandleCreatedイベントでやるのがベストかな
630デフォルトの名無しさん:2010/07/29(木) 20:46:33
>>629
ListViewはデザイナでHandleCreated表示されないので面倒なんですよね・・・
631デフォルトの名無しさん:2010/07/29(木) 21:51:56
>>627
ルーティングテーブルってWindowsのでしょうか

>>628
SoftEtherがシェアウェアになってしまったし
フリーで使える仮想NICってほかにありますか
632デフォルトの名無しさん:2010/07/29(木) 21:58:08
SoftEtherならオープンソース版が最近出たぞ
633デフォルトの名無しさん:2010/07/30(金) 00:35:21
>>631
ルーティングテーブルは、あるIPやネットワークが、
どのNICやルータの先にあるかって定義
だからping打つだけで勝手にそこ経由して出て行ってくれるよ
634デフォルトの名無しさん:2010/07/30(金) 04:21:48
>>618です。
>>619-621さんどうもでした
一度ヒープに乗っけてしまうと、自分の思い通りには出来ないのね…
struct組み合わせたりして頑張ってみます
635デフォルトの名無しさん:2010/07/30(金) 07:09:29
どうでもいいがタイトルがオブジェクト指向じゃないなぁ
なんのためのポリモーフィズムだよw
636デフォルトの名無しさん:2010/07/30(金) 07:10:09
>>631
NW構造によるわけだけどNATの向こうにpingを通したいのか、
IPアドレスのインクリメントのしかた(*)がわからないのか
(*:ex)192.168.0.254の次に192.168.1.1にする方法)
637デフォルトの名無しさん:2010/07/30(金) 07:18:54
vmwareで仮想PC作ってそこに仮想NICいっぱい追加すればいいよw
638デフォルトの名無しさん:2010/07/30(金) 13:15:34
IPごとにちまちまデフォルトゲートウェイ変更してからpingとかw
同時に動いてるネットワーク関連の動作がぐちゃぐちゃになるけど。
639デフォルトの名無しさん:2010/07/30(金) 13:54:16
コモンコントロールのMonthCalendarで、
特定の日付の部分だけ背景色を変えたり文字を強調させたりしたいのですが、
どのようにすればできるでしょうか?
640デフォルトの名無しさん:2010/07/30(金) 15:12:28
641デフォルトの名無しさん:2010/07/30(金) 18:46:23
特定の日付の部分だけ背景色を変えたり文字を強調させればいいですよ。
642デフォルトの名無しさん:2010/07/30(金) 21:11:26
スクリーンセーバーを製作しようと思ってて、それ関係のサイトあったら教えてください
643デフォルトの名無しさん:2010/07/30(金) 21:20:03
>>642
Google
644デフォルトの名無しさん:2010/07/30(金) 21:30:58
アホやw
645デフォルトの名無しさん:2010/07/30(金) 23:44:37
夏休みか。
646デフォルトの名無しさん:2010/07/31(土) 04:48:24
virtualからoverrideされたメソッドを更にoverrideする場合ってどういう表記になるんですか?
647デフォルトの名無しさん:2010/07/31(土) 08:00:28
普通にoverride
648デフォルトの名無しさん:2010/07/31(土) 08:38:07
逆になぜ特別な表記になると思ったのか知りたい
649デフォルトの名無しさん:2010/07/31(土) 11:30:37
特別になるかどうかなんて、C#の仕様次第だろそんなの
650デフォルトの名無しさん:2010/07/31(土) 11:32:29
逆にoverrideの連鎖をとめたい場合はsealedを指定。
651デフォルトの名無しさん:2010/07/31(土) 11:48:23
virtual に対して1回 override した時点で、
ルーティングイベントの e.Handled = true みたいな状態になって、
次からはもう override 書かなくても言い的な解釈しちゃった?

んなわけねぇだろぉ。

override 必須にしてる理由が、
「間違えて別の名前でメソッド書いてもコンパイルエラーにならない」っていう人為的ミスを避けるためだし。
652646:2010/07/31(土) 11:58:56
ありがとうございます

来月からC#使うんだけど
・環境入れてない
・とりあえず本で学習
・手元の本及びサイトで二階層overrideがなぜか乗ってない
C++だとvirtual→virtual→virtual→virtual→…となるから
どうなんだろうと思って

>>651
寧ろ中間階層のクラスがoverride virtualじゃないのかと思ったくらいです
653デフォルトの名無しさん:2010/07/31(土) 12:08:49
>>652
C++だと2回め以降のvirtualは書いても書かなくてもいい。
C#の場合は>>651の言うとおり人為的ミスを避けるために構文がわざと冗長になっている。
654デフォルトの名無しさん:2010/07/31(土) 12:42:20
>>652
overrideを書かなくても、baseで親メソッドを呼べば、同じ結果になる場合がある。
newを使う場合ってどんな時だろう。
655デフォルトの名無しさん:2010/07/31(土) 12:58:31
>>654
new はまず使わない。
あれは「やるなよ」って警告みたいなもんだ。
656デフォルトの名無しさん:2010/07/31(土) 13:09:23
いやいやWindows.Formsのコントロールをカスタマイズするときには大活躍する。
もっとも、あれはほとんどの場合コントロールの設計がまずいからだけど
657デフォルトの名無しさん:2010/07/31(土) 13:11:05
>>656
それにしたって、別の名前のメソッドにした方がいいと思うけどね。
658デフォルトの名無しさん:2010/07/31(土) 13:19:36
どう見てもTextBoxベースのコントロールなのに、テキストの設定取得がTextじゃない
コントロールなんて嫌じゃん普通は。

もちろん、newした場合はアップキャストした場合の問題があるんで一長一短なんだけど。
659デフォルトの名無しさん:2010/07/31(土) 14:22:12
new の弊害はアップキャストにつきるというか、アップキャストできる以上 new を使う意味はないというか。
660デフォルトの名無しさん:2010/07/31(土) 14:32:59
>>654
参照しているライブラリをバージョンアップしたら基底クラスにメソッドが追加されてて
自分の書いていたサブクラス側のメソッドと重複した場合。
661デフォルトの名無しさん:2010/07/31(土) 16:41:57
夏休みか。
662デフォルトの名無しさん:2010/07/31(土) 17:22:34
例年夏休み頃に発生する「夏だな〜」「夏休みか。」って書き込むアホを最近よく見かけるから、たぶん夏休みなんだろう。
663デフォルトの名無しさん:2010/07/31(土) 17:25:54
ずっと2chに入り浸ってるこの人気持ち悪い(´・ω・`)
664デフォルトの名無しさん:2010/07/31(土) 17:43:12
>>662
アホ。
665デフォルトの名無しさん:2010/07/31(土) 17:51:52
>>657
同じ名前じゃないと駄目な場合が多いんだなこれが

カスタムコントロールを配布/販売できるくらいまともに作ろうとすると、
デザイナで扱いやすくするために既存のプロパティやイベントに属性を追加して、
不要なプロパティを非表示にしたり、初期値を変更したり、etc.

ちょっとした機能追加だと、こんなコードが大半を占めるという馬鹿らしい状況に

[Browsable(false)]
public new string Hoge {
  get { return base.Hoge; }
  set { base.Hoge = value; }
}

666デフォルトの名無しさん:2010/07/31(土) 17:56:36
本来のnewの主目的は>>660の言う通り
基底クラスに偶然同じシグネチャのメンバが追加される
→派生クラスをコンパイルしたら警告が出る
→派生クラスを書いた人がそれに気付く
→確認したらnewで警告抑制→派生クラスを利用してたコードの修正は不要
667デフォルトの名無しさん:2010/07/31(土) 17:57:19
>>662じゃないけど、俺も>>661って自分が見えてない奴の典型だなとは思った。
お前の笑ってるものってお前自身なんじゃねえの、って奴。
実にみっともないな。

それに、老人の繰言みたいに2ch的定型句を何の疑問もなく口にできる奴って
個人的にはちょっと信じられないんだよな。
668デフォルトの名無しさん:2010/07/31(土) 18:00:24
>>665
あるあるw
669デフォルトの名無しさん:2010/07/31(土) 18:12:38
>>667
きみのレスが信じられないんだが。ほっとけよ。
670デフォルトの名無しさん:2010/07/31(土) 18:24:41
>>666
継承なら警告出る→new追加で解決できるけど、拡張メソッドでそれやっちゃうと警告すら出ないという……
671デフォルトの名無しさん:2010/07/31(土) 18:30:54
拡張メソッドを追加するときは名前空間ごと新規に追加するべき
今後の.NET Frameworkの拡張は間違いなくそういうルールで行われるはず
672デフォルトの名無しさん:2010/07/31(土) 19:49:43
>>671って気持ち悪い(´・ω・`)
673デフォルトの名無しさん:2010/07/31(土) 19:54:53
>>665
よくわからないんだけど、デザイン時に隠して、
プロパテイへのアクセスは許可するってどう言うことでしょうか?
674663:2010/07/31(土) 20:04:27
>>671って気持ち悪い(´・ω・`)
675デフォルトの名無しさん:2010/07/31(土) 20:05:35
>>673
そういうことじゃなくて、例えば曜日を選択するComboBoxを作ったとすると、
普通はデザイン時にItemsは編集する必要がないし、してもらいたくないわけだ。

>>665は恐らくそういう場合のことを言っている。
676デフォルトの名無しさん:2010/07/31(土) 21:57:12
ScrollableControlを継承して独自コントロールを作ったけど、ユーザーにはスクロールの制御を
させたくないとかね。
アップキャストされたらどうしようもないんだけどさ。
677デフォルトの名無しさん:2010/07/31(土) 22:46:47
>>675
なるほど。setがあるのは、最悪の場合は使えってことか。
ただこの場合、newを使う必要があるかどうかはよくわからないが、まぁいいか。
678614:2010/08/01(日) 11:48:14
struct ANY {
 System.Type type;
 string value;
}

typeが様々なEnum型の場合、type型からvalue値を持ったEnum型のインスタンスを生成するにはどうしたらいいでしょうか。

Enum.Parse(type, value)でobject型を得られるところまでは分かったのですが、これをtype型にキャストする方法がわかりません。

Enum.Parse(type, value) as type のようなことが出来ればいいのですが。
679614:2010/08/01(日) 11:54:22
訂正
× typeが様々なEnum型の場合、type型からvalue値を持ったEnum型のインスタンスを生成するにはどうしたらいいでしょうか。

○ typeが様々なEnum型の場合に、typeのEnum型のvalue値を持ったインスタンスを生成するにはどうしたらいいでしょうか。
680デフォルトの名無しさん:2010/08/01(日) 12:17:46
Enum.Parseが返すのはobject型だけど実体はEnumの型の値だよ。
ttp://ideone.com/qQW6b
681デフォルトの名無しさん:2010/08/01(日) 12:52:04
.NET 4 で Enum.TryParse<T> も入ったけどもね。

あとは、もっとリフレクション勉強した方がいいんじゃないかと。
682デフォルトの名無しさん:2010/08/01(日) 13:07:08
>>680-681
なんか突っ込みどころがズレてる気もする。

614は
>これをtype型にキャストする方法がわかりません

こう言ってるんだから、少なくともC#では、実行時にメソッドの返り値や
変数の型を指定することはできない、というような回答でないとおかしいのでは
683デフォルトの名無しさん:2010/08/01(日) 13:23:00
T Parse<T>(string str)
{
object parsed = Enum.Parse(typeof(T), str);
return (T)parsed;
}

とかいうコード示すのがいい気もしてきた。
684デフォルトの名無しさん:2010/08/01(日) 15:15:31
var src = Enumerable.Range(1, 100);

Func<int, bool> f1 = SerchValue;
Func<int, int, bool> f2 = SerchValue;

foreach (var s in src.Where(f1)) Console.WriteLine(s);
foreach (var s in src.Where(f2)) Console.WriteLine(s);

static bool SerchValue(int x, int index) {
return ((x + index) % 2) == 0;
}

static bool SerchValue(int x) {
return (x % 2) == 0;
}

匿名メソッド、ラムダ式を使用せずに、
Func<int, bool> f1 = SerchValue;
Func<int, int, bool> f2 = SerchValue;
の宣言を行わずして記述できる方法が不明。

教えて。
685デフォルトの名無しさん:2010/08/01(日) 15:26:47
>>684
質問の意図がつかめないけどこういうことかな?
foreach (var s in src.Where((Func<int, bool>)SearchValue)) Console.WriteLine(s);
foreach (var s in src.Where((Func<int, int, bool>)SearchValue)) Console.WriteLine(s);
686デフォルトの名無しさん:2010/08/01(日) 15:35:38
>>685

foreach (var s in src.Where(Func<int, bool>SearchValue)) Console.WriteLine(s);
foreach (var s in src.Where(Func<int, int, bool>SearchValue)) Console.WriteLine(s);

とか記述して、なぜだろうって思ってたw

単純にキャストですね。
ありがとうございます!
687614:2010/08/01(日) 21:14:22
>>680
それはわかります。でも、特定のEnum型に代入するためにはキャストが必要ですよね?

↓このようにはできるのですが、
MyEnum me = (MyEnum)Enum.Parse(typeof(MyEnum), "hoge");

このMyEnumの型がType型で与えられているときは、どうすればいいでしょうか?
688614:2010/08/01(日) 21:15:25
>>683
これはよさそうですね。試してみます。
689デフォルトの名無しさん:2010/08/01(日) 21:17:03
type型という言い方が間違ってるんだよ
<T>のTはType型とはいわない。ジェネリックの型引数とか呼ぶ。
690デフォルトの名無しさん:2010/08/01(日) 21:19:41
まぁ的確な言葉を使うってのは難しい
まず知らないわけだから
691614:2010/08/01(日) 21:25:44
>>683
残念ながら、T Parse<T>ではダメでした。

下記のようなことをやりたいのですが、<>にはType型の変数を入れられないようです。

Type t = typeof(MyEnum);
object obj = Parse<t>("hoge");  //←これが出来ない。
692625:2010/08/01(日) 21:31:12
>>625です

ルーティングテーブルで検討してみましたが
膨大な数のIPに対してすべてのルートを追加するのは現実的ではないので
理想を言えば ping.exe の -j オプションのように経由するGWを指定して
PINGテストをできればよいのですがPINGクラスを見てもそれらしきものが見つかりませんでした
何か良い方法はないでしょうか

NW構成は [PC]-[HUB]-[ネットワークごと複数ルーター]-[インターネット] です
693デフォルトの名無しさん:2010/08/01(日) 21:38:31
>>691
だからリフレクション勉強しろってば。
694614:2010/08/01(日) 22:35:03
>>693
ご指導ありがとうございます。
先ずは、書籍やC#の初心者向けのスレッドなどを幅広く利用して勉強してみたいと思います。
695デフォルトの名無しさん:2010/08/01(日) 22:59:40
>>692
個別のIPだけじゃなくて、ネットワークも指定できるよ
ネットワークマスクで指定すればいいじゃん
696デフォルトの名無しさん:2010/08/01(日) 23:16:40
>>695
ありがとうございます。
ちょっと理由があってマスク指定しても正常にルーティングされないんです。
それで別の方法を検討中です。
697デフォルトの名無しさん:2010/08/01(日) 23:27:00
理由も出さずに解答した相手にダメ出し?氏ねよどんな教育うけてきたんだよマジで
698デフォルトの名無しさん:2010/08/01(日) 23:29:21
>>694
リフレクションというか、基礎が徹底的に欠けてる感じだねえ。
一度書籍をザッと眺めるといいと思うよ。
699695:2010/08/01(日) 23:31:13
お礼を言ってから別の方法を検討してる理由を説明しただけで
駄目だしはしていないと思いますが・・・
700デフォルトの名無しさん:2010/08/02(月) 00:13:01
>>697が受けてきた教育よりかはマシだと思うマジで
701デフォルトの名無しさん:2010/08/02(月) 00:24:21
いいから氏ねよ
702デフォルトの名無しさん:2010/08/02(月) 01:39:36
>>701
2chでもそれはまずいよ。
703デフォルトの名無しさん:2010/08/02(月) 02:25:19
失せろカス
704デフォルトの名無しさん:2010/08/02(月) 08:16:07
>>691
だからType型で与えられてるならキャストする意味無いんだから
Type t = typeof(MyEnum);
object obj = Enum.Parse(t, str);
でいいんだよ
特定のEnum型に代入したいならそもそもType型で与えられてないだろ?
頭を整理して考えてみて
705デフォルトの名無しさん:2010/08/02(月) 10:36:47
フォームに収まるサイズのDataGridViewを、
内容に合わせて自動的に小さくするには、どうしたら良いでしょうか?
今はコントロールとセルと間にグレーの余白ができてしまいます。
706デフォルトの名無しさん:2010/08/02(月) 14:14:18
環境:VB2005

Form上(に配置したアイコン または 登録したメニュー欄)から新しいウィンドウを開くのは
「Form内にFormを配置する」と考えていいでしょうか?
または、DataGridViewなんかでもできますでしょうか?

例:JaneStyleの板一覧ウィンドウなど。
枠がついてて右上に×を出して閉じれるようにしたいです。
707デフォルトの名無しさん:2010/08/02(月) 14:19:35
コントロール直接配置すりゃいいじゃん
Formの中を分割したいだけだろ?
708デフォルトの名無しさん:2010/08/02(月) 14:57:21
参照したdllのバージョン情報ってどうやって取得するの?

自分のバージョン情報だと
string appVersion = Application.ProductVersion;
で取れるんだけど参照したdllはどうするのかわけわかめ
709デフォルトの名無しさん:2010/08/02(月) 15:36:21
関数ポインタで保持して
呼び出すみたいなことをやりたいと思ってます。
調べてたら Func<>という奴がそれっぽいみたいですが
ref / out を使おうとするとエラーになってしまいます。
Func<> では使えないのでしょうか?
また、ほかに実現する手段ありますか?
710デフォルトの名無しさん:2010/08/02(月) 15:44:25
>>708
Assembly

>>709
delegateは調べてみた?
711デフォルトの名無しさん:2010/08/02(月) 15:46:32
refつけなきゃいいじゃん
712デフォルトの名無しさん:2010/08/02(月) 16:05:47
>>708
System.Diagnostics.FileVersionInfo.GetVersionInfoがそれっぽい。

>>709
Func<>はMSDNでみてもわかるように、引数にref/outが指定されていないデリゲート。
なので自分でそれらしいものを用意すればいいんじゃないかと。

delegate TResult FuncRef<T, TResult>(ref T value);
delegate TResult FuncOut<T, TResult>(out T value);
713デフォルトの名無しさん:2010/08/02(月) 19:02:27
VS2003が出てきたので始めてみようかなと思ってます。
で何から始めればいいでしょうか?
プログラミング経験といえばFortran90、BASICぐらいしかありません(それもかじった程度)
714デフォルトの名無しさん:2010/08/02(月) 19:04:50
何がしたいのか分からないのならひたすら文法だけ覚えろ
715デフォルトの名無しさん:2010/08/02(月) 19:04:57
>>713
まずそのVS2003をそっと押し入れに戻すところから。
716デフォルトの名無しさん:2010/08/02(月) 19:09:02
Fortranとか数年ぶりに聞いたな・・・w
あれどういう需要あんの?
717デフォルトの名無しさん:2010/08/02(月) 19:14:59
数値計算
情報系じゃない学者先生が惰性で使う
718デフォルトの名無しさん:2010/08/02(月) 19:29:08
>>713
ttp://www.atmarkit.co.jp/fdotnet/csharp_abc2/index/index.html
早く上達して無能な僕ちゃんに教える立場になっておくれ
719デフォルトの名無しさん:2010/08/02(月) 19:46:52
VisualStudio2010を使って折れ線グラフを作ってます。
線を太くしたいのですが、それらしきプロパティがありません。
DataPointのサイズをいじればいいのかな?と思って色々試しているのですが、変わりません・・・。
どなたかお願いします。
720デフォルトの名無しさん:2010/08/02(月) 21:16:47
>>710>>712
ありがとうございます。
調べてみたら実現できそうです。
721デフォルトの名無しさん:2010/08/02(月) 21:58:04
This is a Pen!!
722デフォルトの名無しさん:2010/08/02(月) 22:02:03
>>717-718
少なくとも工学ではまだまだ現役。最古の高級言語なのにね。
行列とかベクトルとかの扱いが楽だから簡単なシミュレーション書きたいときに重宝。
スパコンなんかでもまだまだ使われてるとか。

723デフォルトの名無しさん:2010/08/02(月) 22:17:18
>>719
SeriesのBorderWidthプロパティ?
724614:2010/08/02(月) 23:26:21
>>704
切羽詰っていたので勘違いしていましたが、問題は>>691ではなく、
object[] を enum[] に代入することでした。

問題は無事解決しました。ありがとうございました。
725デフォルトの名無しさん:2010/08/02(月) 23:33:11
いえいえ
726デフォルトの名無しさん:2010/08/03(火) 00:49:45
C# に C++のPathAddBackslash()のようにパスの末に¥が
存在しない場合に付加するような関数ありますか?
727デフォルトの名無しさん:2010/08/03(火) 01:01:42
うーん・・・
new DirectoryInfo(@"c:\test").FullName でも
Path.Combine(@"c:\test", "") でもダメだった・・・
728デフォルトの名無しさん:2010/08/03(火) 01:07:16
ちょっとそのものとは違うけど、
Path.Combine(@"C:\test", @".")
とか・・・
729デフォルトの名無しさん:2010/08/03(火) 01:08:22
path.TrimEnd('\\') + @"\"
730デフォルトの名無しさん:2010/08/03(火) 14:25:56
>>723
Seriesのそれ変えてるんだけど、変化がないんですよね。
よくわからない。
731デフォルトの名無しさん:2010/08/03(火) 14:28:28
>>723
とおもったら、マーカーボーダーウィズと勘違いしてた!
ボーダーウィズかえたらいけました。
サンクス!
こんな簡単なことに手間取ってはずかしい・・・。
732デフォルトの名無しさん:2010/08/03(火) 14:45:04
ウィズ・・・
733デフォルトの名無しさん:2010/08/03(火) 19:33:23
むしろウィズで正解。

>>726
二重になってもかまわないから無条件に付加しちゃえ。
734デフォルトの名無しさん:2010/08/03(火) 20:41:16
ふぅ
735デフォルトの名無しさん:2010/08/03(火) 21:02:34
>>733
\が2つあっても認識するんですね。
知りませんでした。
\が2つ以上でも大丈夫なのでしょうか?
それならいちいちチェックしなくてもいいかなと思いましたが。
736デフォルトの名無しさん:2010/08/03(火) 21:08:36
Path.DirectorySeparatorChar
737デフォルトの名無しさん:2010/08/03(火) 21:25:31
5MBのテキスト文字列から単語を高速に検索するにはどうすればいいんですか?
String.Substringが遅いんです。
738デフォルトの名無しさん:2010/08/03(火) 21:27:53
正規表現でいいんじゃね?
739デフォルトの名無しさん:2010/08/03(火) 21:32:15
>>737
単純に検索なら IndexOf は?
Substring使ってるってことは、ループして自分で検索してるよね?
740デフォルトの名無しさん:2010/08/03(火) 21:40:05
文字列の検索で何故Substring。
やりたい/やっている動作は検索なのか?
741デフォルトの名無しさん:2010/08/03(火) 21:59:56
C#で画像を読み込んでお絵かきチャットに自動で書きこむソフトを作りたいんですがどうやったらマウスを自動操作できますか?
と書き込んでいるうちに自己解決しました(ゝω・)v☆キャピ!
742デフォルトの名無しさん:2010/08/03(火) 22:12:24
これだけなんですが、2時間経っても終わりません。
Lengthが250万ぐらいです。

for (int i = 20; i < text.Length - 2; i++) {
  if (text.Substring(i, 1) == "-") {
   int pos = 0;
   for(int n=2; n< 20; n++){

    if (text.Substring(i-n, 1) == " ") {
     pos++;
    }
    if( pos == 2 ){
     text = text.Insert(i-n, "\r\n");
     break;
    }
   }
  }
}

この中で一番重いのはSubstringですよね?
今回の処理が終わったらIndexOfやってみます。ありがとうです。
743デフォルトの名無しさん:2010/08/03(火) 22:15:37
いろいろとダメダメだな。
744デフォルトの名無しさん:2010/08/03(火) 22:25:40
無知って罪だね
745デフォルトの名無しさん:2010/08/03(火) 22:59:04
>>742
text = text.Insert(i-n, "\r\n"); が一番重そう。
746デフォルトの名無しさん:2010/08/03(火) 23:03:07
そりゃあ重いだろ

string str = "abc";
if(str[1]=='b')
{
// true
}

この程度すら理解してないだろ
747デフォルトの名無しさん:2010/08/03(火) 23:03:10
うん。
748デフォルトの名無しさん:2010/08/03(火) 23:05:28
>>742でやらんとしている事なんてRegex.Replaceで一発だと思ったがどうだろう
749デフォルトの名無しさん:2010/08/03(火) 23:06:43
とりあえずSubstring(n,1)をインデクサに置き換えるべよ。
750デフォルトの名無しさん:2010/08/03(火) 23:08:29
>>742
その仕様をコードじゃなくて言葉に表してみ?
751デフォルトの名無しさん:2010/08/03(火) 23:09:40
・20文字目以降でハイフン出てくるところを探す
・ハイフンから手前を最大20文字見て、二つ目の空白の手前に改行を入れる
752デフォルトの名無しさん:2010/08/03(火) 23:13:35
>>751
答えは>>748
753デフォルトの名無しさん:2010/08/03(火) 23:16:37
ところで改行って"\r\n"派?
それともEnvironment.NewLine派?

俺はEnvironment.NewLineだけど
Environment.NewLineはダサいから\r\n使えっていう奴がいるんだよね
754デフォルトの名無しさん:2010/08/03(火) 23:18:10
Win以外の環境でなんか実行しないが定数派w
755デフォルトの名無しさん:2010/08/03(火) 23:20:53
空文字列は ""。stringEmpty はダせえwwwwwww
とか思っちゃってるのに
改行はNewLineですwなぜ?w
756デフォルトの名無しさん:2010/08/03(火) 23:22:17
@"
"
757デフォルトの名無しさん:2010/08/03(火) 23:26:01
>>756
ぜったいやだw
それやってる奴いたら即直させる。
758デフォルトの名無しさん:2010/08/03(火) 23:29:33
あっそ
759デフォルトの名無しさん:2010/08/03(火) 23:32:49
>>757
そんじゃあMicrosoft.VisualBasic.ControlChars.CrLfとかMicrosoft.VisualBasic.Constants.vbCrLf
なんてのもあるよ
760デフォルトの名無しさん:2010/08/03(火) 23:34:55
>>759
VwwwwwwwwwwwwwBwwwwwwwwwwwwwwwwww
761デフォルトの名無しさん:2010/08/03(火) 23:56:12
辻と加護の区別がつかないのと同様に、
\r\n なのか \n\r なのかがわからなくなる。
よっておれは、トランクス派。
762デフォルトの名無しさん:2010/08/03(火) 23:56:52
>>755
空文字列は""。
書きやすいのと文字列として色分けされるから。
改行は原則Environment.NewLine。
Win以外の環境でなんて実行しないけどw 一応考慮して。
いっぱい使うときは var nl = Environment.NewLine に入れてる。
763デフォルトの名無しさん:2010/08/04(水) 00:00:56
最初はマルチプラットフォームを謳ってたからね
その頃の意気込みがEnvironment.NewLineなのかw
764デフォルトの名無しさん:2010/08/04(水) 00:06:28
Environmentが長すぎるのが問題なんだよ。
stringクラスにあればいい。
765デフォルトの名無しさん:2010/08/04(水) 00:07:25
XPでもVistaでも動くしマルチプラットフォームじゃん
766デフォルトの名無しさん:2010/08/04(水) 00:09:57
>>764
stringクラスに環境依存の定数はちょっとやだ。
767デフォルトの名無しさん:2010/08/04(水) 01:42:56
Environmentが長すぎるのが問題なんだよ。
stringクラスにあればいい。
768デフォルトの名無しさん:2010/08/04(水) 01:44:21
>>767
stringクラスに環境依存の定数はちょっとやだ。
769デフォルトの名無しさん:2010/08/04(水) 01:46:24
>>757
そんじゃあMicrosoft.VisualBasic.ControlChars.CrLfとかMicrosoft.VisualBasic.Constants.vbCrLf
なんてのもあるよ
770デフォルトの名無しさん:2010/08/04(水) 01:46:34
既視感が…
771デフォルトの名無しさん:2010/08/04(水) 01:49:49
たいへんだね
772デフォルトの名無しさん:2010/08/04(水) 01:56:40
まぁネタは置いといても
やっぱEnvironmentは長すぎると思わね?
Environment.NewLine使うときって
+ で結合するから更に長くなりがちなんだよね。
だからstringクラスにあればいい。
773デフォルトの名無しさん:2010/08/04(水) 02:28:41
正直、String.NewLineもEnvironment.NewLineもたいして変わらんと思う(どっちも長い)
774デフォルトの名無しさん:2010/08/04(水) 02:33:21
>>773
そこはお前

stringクラスに環境依存の定数はちょっとやだ。

って書いとけよ
775デフォルトの名無しさん:2010/08/04(水) 02:36:55
いっそ拡張メソッドでNewLine(),NewLine(string) でも作るとか
776デフォルトの名無しさん:2010/08/04(水) 02:41:28
>>775
public static string AddNewLine(this string value)
{
  return value + Environment.NewLine;
}
public static string CombinLine(this string left, string right)
{
  return left + Environment.NewLine + right;
}
777デフォルトの名無しさん:2010/08/04(水) 03:53:24
そんなくだらないメソッドについて語るなんておまえら可愛いな
778デフォルトの名無しさん:2010/08/04(水) 03:56:15
暇なのさ
779デフォルトの名無しさん:2010/08/04(水) 05:04:00
(ゝω・)v☆キャピ!
780デフォルトの名無しさん:2010/08/04(水) 08:26:45
IntelliSense 前提の言語で Environment が長すぎって文句付けるのもちょっとアレだし、
「意味」が通ることが最重要とされるこのご時世に string に環境依存なもの入れたいってはかなりアレだし。
781デフォルトの名無しさん:2010/08/04(水) 08:48:42
うごきゃいい
782デフォルトの名無しさん:2010/08/04(水) 09:07:20
今はSilverlightもあるからな
まあ環境無視して同じ出力が得られるようにするのがSilverlightの用途としては普通だろうけど
783デフォルトの名無しさん:2010/08/04(水) 09:44:41
適当なUriからファイルを一つ読みだしたいのですが(ローカルのディスクのファイルを指定する事も多分にある)、どのクラスを使うのが一番適当でしょうか?
とりあえず System.Net.WebClient を使っているのですがもっと適切なのはありますか?
784デフォルトの名無しさん:2010/08/04(水) 16:23:58
タイトルがないフォームを、
MouseDown、MouseMove、MouseUpを使って移動させることはできましたが、
ウィンドウを非アクティブな状態にして、素早くマウスを動かすと、
フォームがついて来なくなりました。ゆっくり動かすと大丈夫です。
どう言った原因が考えられますでしょうか?

とりあえず、MouseDown時にActiveにすることにより、解決はしています。
785デフォルトの名無しさん:2010/08/04(水) 16:38:12
キャプチャしないからじゃに
786デフォルトの名無しさん:2010/08/04(水) 16:40:31
タイトルがないフォームをマウスで動かすならWM_NCHITTESTに応答するのが簡単
787デフォルトの名無しさん:2010/08/04(水) 16:41:25
ってここに例があった
フォーム、フォームのクライアント領域をドラッグして移動する方法
ttp://support.microsoft.com/kb/320687/ja
788784:2010/08/04(水) 19:00:41
>>785
キャプチャなしでも、MouseMoveでフォーム外のマウスの位置を取れるみたいです。
イベント発生のきっかけと、イベント発生にタイムラグがあるからですかね。

>>787
めちゃくちゃ簡単ですね。これで試してみます。
ありがとうございました。
789784:2010/08/04(水) 19:14:46
何てなw
790デフォルトの名無しさん:2010/08/04(水) 20:15:06
ちなみにWPFだとDragMove();一文で済んでしまう
Aeroシェイクの対応までやってくれる衝撃
791デフォルトの名無しさん:2010/08/05(木) 19:38:19
リッチテキストボックスで中の文字をマウスで選択反転させる時一文字ずつ選択していくにはどうすればいいんですか?
途中で数文字まとめてどどどって反転してその単語内で分割した位置で反転できないんです
792デフォルトの名無しさん:2010/08/05(木) 21:52:23
クラスの配列を作りたいのですが、
現在は下記コードのように、普通に参照の配列をnewで作ってから
forで配列の中身に一つずつクラスをnewして代入しています。

var arr = new Class[N];
for(int i=0; i<N; i++) { arr[i] = new Class(); }

しかしNか数万のオーダーとなるとこの初期化処理に時間がかかり、困っています。
配列arrは実体の配列でよく、派生したクラス実体の代入を試みると言ったこともあり得ないのですが、
このような場合はどのようにすればまとめて実体を確保することができますでしょうか。
793デフォルトの名無しさん:2010/08/05(木) 22:01:46
ループが多い場合はループ内の型宣言はループ外でしたほうがいいんですか?

while(true){
int a = 1;
}

int a;
while(true){
a = 1;
}
794デフォルトの名無しさん:2010/08/05(木) 22:03:21
>>792
愚問すぎる。
795デフォルトの名無しさん:2010/08/05(木) 22:03:53
どっちでもいいよ。
796デフォルトの名無しさん:2010/08/05(木) 22:47:44
>>792
1個1個newしてるか、まとめて確保してるかとかの問題じゃなくて、
そもそも数万のオーダーのインスタンス作ってるんだから重くて当たり前だろうに。

>>793
そんなもん、コンパイラが最適化する。
ループが重いんじゃなくて、単に数万回コンストラクターが呼ばれるのが重い。

0 初期化でいいんなら struct に変えれば?
797デフォルトの名無しさん:2010/08/05(木) 22:54:21
>>793が同じになるのは、コンパイラの最適化というより、
C系の静的言語の設計のコンセプトみたいなもんだよ
はじめからローカル変数は関数ごとに確保する前提で設計されてるから当たり前
798デフォルトの名無しさん:2010/08/05(木) 22:57:11
>>780
>string に環境依存なもの入れたいってはかなりアレだし
それはおかしな話だろ。
環境依存を中和するのは .NET Framework の存在意義の一つでもある。

環境によって改行という概念がないというのであれば
お前の意見は正しいかもしれないが。

そもそもNewLineプロパティ(フィールド)があった場合に
NewLineの中身を意識すること自体が間違い。

799デフォルトの名無しさん:2010/08/05(木) 23:14:32
一般的には正しいかもしれないが、
改行コードについては影響があまりにも大きすぎるから意識しないと仕方ない
800デフォルトの名無しさん:2010/08/05(木) 23:35:11
どっちでもいいよ。
801デフォルトの名無しさん:2010/08/05(木) 23:35:49
>>798
いやいや、「この実行環境における改行文字」という情報がSystem.Stringという型に
属するのは意味論的におかしいでしょ。

>>780の言い方もちょっと舌足らずとは思うが。
802デフォルトの名無しさん:2010/08/05(木) 23:36:34
いい加減どうでもいいと思わんか?
803デフォルトの名無しさん:2010/08/05(木) 23:39:52
オマエガナー
804デフォルトの名無しさん:2010/08/05(木) 23:49:14
>>801
うざい
805デフォルトの名無しさん:2010/08/05(木) 23:50:14
staticコンストラクタを明示的に宣言しない場合、CILに、beforefieldinitが自動的に追加されますが、
staticコンストラクタを明示的に宣言しなくても、staticメンバを宣言した場合にbeforefieldinitが追加されるのは、
C#からCILに変換される際にstaticコンストラクタが自動的に追加されてるだけと考えてよいでしょうか?
806デフォルトの名無しさん:2010/08/05(木) 23:51:02
>>804
自分はうざくないと思ってるのか。
まるで幼児の所業だな。
807デフォルトの名無しさん:2010/08/06(金) 00:00:13
showDialogでForm1からForm2を呼び出したんですが
2から1の中身にアクセスするにはどうすればいいんですか?
808デフォルトの名無しさん:2010/08/06(金) 00:05:30
>>807
それやっちゃダメ
あらかじめForm2のプロパティに値を入れるアルよ
809デフォルトの名無しさん:2010/08/06(金) 00:15:08
ありがとうございました
810805:2010/08/06(金) 00:30:21
度々すみません。
staticコンストラクタを明示的に宣言しない場合、beforefieldinitが自動追加されるので、staticコンストラクタとbeforefieldinitは共存しないと思ったんですが、
staticメンバを宣言してILDasmでMSILを見ると、staticコンストラクタ(.cctor)とbeforefieldinitの両方が存在しています。
なぜでしょうか?
811デフォルトの名無しさん:2010/08/06(金) 00:50:26
>>796
なるほど。関数が重いというのであれば、struct化等検討してみたいと思います。
ありがとうございました。
812デフォルトの名無しさん:2010/08/06(金) 01:21:12
>>810
あんまり詳しくなく適当にいうけども・・・

static じゃない場合って、呼び出し順序的には、
フィールドの初期化 → 親クラスのフィールドの初期化 → 親のコンストラクター → 自身のコンストラクター
なのよね。
なんかそれと同じような手順が static でも動いてるのかね?
813デフォルトの名無しさん:2010/08/06(金) 01:29:01
フィールドの初期化を行うstaticコンストラクタが自動生成されてるだけ。
814805:2010/08/06(金) 01:36:50
>>812-813
ありがとうございます。追加質問で申し訳ないのですが、
他classから継承したclassで、コンストラクタも含め一切のメンバを持たず、beforefieldinitも無いケースはどのようなケースが考えられますか?
815デフォルトの名無しさん:2010/08/06(金) 02:48:31
>>808
できましたありがとうございました

class Form2{
public Form form;
((Form1)form).a=1;
}

class Form1{
int a;
Form2 form2 = new Form2();
form2.form = this;
}
816デフォルトの名無しさん:2010/08/06(金) 03:16:15
これはすごい
817デフォルトの名無しさん:2010/08/06(金) 03:29:30
すげーすげー!
818デフォルトの名無しさん:2010/08/06(金) 04:13:01
>>791
いったん単語の区切り位置を行き過ぎてから戻すと希望の位置で切ることができる
前も後ろも同様
819デフォルトの名無しさん:2010/08/06(金) 04:26:12
>>818
前後にどどどってなる時があって、その場合絶対特定の単語を選択できないんです
820デフォルトの名無しさん:2010/08/06(金) 04:34:27
すいませんシフト+十字キーで選択できました
ウィンドウズの問題でしたすいません
821デフォルトの名無しさん:2010/08/06(金) 12:19:29
>>819-820
たとえばabcdeの中のbcdだけを選択したいとき、aとbの間にポインタを置いてボタンダウン、
まずaの左までドラッグしてから右にドラッグする。そうすると、左に自動的に広がらなくなる。
右も同じ。選択範囲が自動的に広がったら、その範囲の右までドラッグしてから左に戻す。
そうすると自動的に単語全体に広がる機能がキャンセルされる。
822デフォルトの名無しさん:2010/08/06(金) 15:21:52
C#は>>815みたいな書き方はダメなんでしょ?
publicなフィールドじゃなくプロパティを仕えって事になってるはずだけど。
823デフォルトの名無しさん:2010/08/06(金) 15:25:20
作法論的なことを言ってるのなら何だって駄目だろあんなやり方
824デフォルトの名無しさん:2010/08/06(金) 18:56:16
>>822
うん。
825822:2010/08/06(金) 19:21:52
>>824
ありがとうね。
826デフォルトの名無しさん:2010/08/06(金) 22:09:34
>>793
ループ内で定義できるなら、ループ内で定義。これ常識。

>>822
その常識、非常識。したくなったらあとからプロパティにすればいいよ。
{set;get;}ってまぬけだと思う。いつか改善されるだろう。
827デフォルトの名無しさん:2010/08/06(金) 22:19:30
>>826
要改善なのは、あとからプロパティにすればいいだの{set;get;}を間抜けだのいう
君のセンスの方じゃないのか
828デフォルトの名無しさん:2010/08/06(金) 22:21:22
>>826
> >>822
> その常識、非常識。したくなったらあとからプロパティにすればいいよ。
> {set;get;}ってまぬけだと思う。いつか改善されるだろう。
C#でなくても、いまどきpublicのフィールドなんか定義してたらB級認定。
829デフォルトの名無しさん:2010/08/06(金) 22:22:47
>>826
プロパティとフィールドはコードの表層レベルでは表記が同じだが
コンパイルされると別のものになる。後はわかるよな。
830デフォルトの名無しさん:2010/08/06(金) 22:23:48
>>828
それも言いすぎ。
どこの世界でも知恵がない奴は極端に走るよな
831デフォルトの名無しさん:2010/08/06(金) 22:31:41
>>830
publicのフィールドが許されるシナリオを挙げてみ。
832デフォルトの名無しさん:2010/08/06(金) 22:45:40
>>831
そんなのいくらでもある。
例えば値の検証も〜Changedイベントも必要ないような単純な座標を
フィールドにするのはむしろ自然。
833デフォルトの名無しさん:2010/08/06(金) 22:58:01
こりゃあ週末は暇しないで済みそうだ
834デフォルトの名無しさん:2010/08/06(金) 23:02:45
>>832
と思ってしまうところがB級。
835デフォルトの名無しさん:2010/08/06(金) 23:06:26
お前らはランクなしの初心者だろ
とやかく言うない
836デフォルトの名無しさん:2010/08/06(金) 23:10:32
電卓くらいしか作ったことないんだろ?正直に言ってごらん
837デフォルトの名無しさん:2010/08/06(金) 23:12:09
>>836
ジャンケンゲームくらい朝飯前だ!なめんなよこのやろう
838デフォルトの名無しさん:2010/08/06(金) 23:13:11
失礼な
オセロくらいはあるよ
839デフォルトの名無しさん:2010/08/06(金) 23:15:01
オセロと表記する時点でネタかお遊びかだな
840デフォルトの名無しさん:2010/08/06(金) 23:16:26
中学生レベルだな
でも国内じゃこれが大学生レベルというから信じられない
どうしてこうも学生はレベルが低いのか
841デフォルトの名無しさん:2010/08/06(金) 23:19:12
昭和生まれなめんなよこのやろう
842デフォルトの名無しさん:2010/08/06(金) 23:33:17
昭和生まれでも中2からゆとり教育受けたやつもいるだろ
843デフォルトの名無しさん:2010/08/06(金) 23:42:48
インスタンスの破棄には、~とDispose()とnull代入とdefault()どれが一番いいですか?
844デフォルトの名無しさん:2010/08/06(金) 23:43:02
自称玄人が何故駄目なのかも説明せずにいきがってるののは何レベル?
845デフォルトの名無しさん:2010/08/06(金) 23:44:16
Z
846デフォルトの名無しさん:2010/08/06(金) 23:55:45
>>843
MSDNのDisposeの実装のところ読んでみたら?
デストラクタの使い方も書いてある。
Disposeはオブジェクト(の内部リソース)を明示的に破棄する。
オブジェクト自体は参照が残っている場合は破棄されないので、スコープが広い場合はnull代入。
null代入はオブジェクトの破棄というよりは参照の破棄。
参照を失ったオブジェクトは後でガベージコレクタに回収される。
default()は既定値(null、0など)を表すだけ。
847846:2010/08/07(土) 00:00:14
内部でDisposeが必要なオブジェクト(ファイルとかGDI系とかWebBrowserとか)を持っていたり、
アンマネージリソースを使用している場合はDisposeを実装してそれを使う。
そうでない場合はメモリ使用量を気にしない限りDisposeしなくていい。参照されなくなった後に自動で解放される。
848デフォルトの名無しさん:2010/08/07(土) 00:01:28
>>831
const field
static readonly field
field of non-public class
849デフォルトの名無しさん:2010/08/07(土) 00:02:30
>>848
const は別枠っぽいよ。
あんまりフィールドとは言わず、普通にコンスタント。
850デフォルトの名無しさん:2010/08/07(土) 00:02:46
>>848
3つ目は認めない
851デフォルトの名無しさん:2010/08/07(土) 00:28:11
>>848
君が義務教育中なのか大学生なのか社会人なのかしらんけど
「publicのフィールド」というニュアンスが
「const field/static readonly field/field of non-public class」と同じ、という思考回路はものすごく危険
学生なら許されるのかもしれんが
会社でそんな答えをしてたら間違いなく怒られるよ
852デフォルトの名無しさん:2010/08/07(土) 00:28:57
このコピペ使いやすい
853デフォルトの名無しさん:2010/08/07(土) 00:33:49
コピペ脳の君は、恐らくまず間違いなく「使えない奴」だけどねw

面目な話、ボケ老人の繰言じゃあるまいし、コピペで嬉しくなっちゃう
感覚が理解できない。
854デフォルトの名無しさん:2010/08/07(土) 00:37:04




855デフォルトの名無しさん:2010/08/07(土) 00:40:03
向こうのC#スレも同じ流れだな
856デフォルトの名無しさん:2010/08/07(土) 00:48:55
C#覚えると精神が歪むんですよ
857デフォルトの名無しさん:2010/08/07(土) 00:52:27
それは大いに感じる
858デフォルトの名無しさん:2010/08/07(土) 01:12:02
同じ奴が荒らしてんだろ
859デフォルトの名無しさん:2010/08/07(土) 01:12:42
>>848
field of non-public class
これは無いわ
860デフォルトの名無しさん:2010/08/07(土) 01:19:09
field of non-public class?
フィールド の でない-パブリック クラス・・・パブリックではないクラスのフィールド!!

オレ英語ワカル!オレ頭イイ!!
861デフォルトの名無しさん:2010/08/07(土) 01:19:32
そう?それなりに使わない?
862デフォルトの名無しさん:2010/08/07(土) 02:46:49
自動実装プロパティがなかった頃はめんどくさがって
外に公開しないとこでpublicフィールド使ってるのもあったけど今時はほとんど見なくなった。

>>848の周りでは残ってるのかも知れんけど、オープンソースの見れば分かるように今では少数派(多数派だった時期があるのかは知らない)
863デフォルトの名無しさん:2010/08/07(土) 02:52:53
>>831
DependencyProperty
864デフォルトの名無しさん:2010/08/07(土) 03:20:12
クラスがでかくなりすぎた時ファイルを分けて書くことはできませんか?
865デフォルトの名無しさん:2010/08/07(土) 03:22:32
たまにはpartialキーワードのことを思い出してくださいいいいいいいいいいいいいいいいいいいいい
866デフォルトの名無しさん:2010/08/07(土) 03:27:18
つーか、Form全部ぶっこんでるとこに突っ込めよwww
867デフォルトの名無しさん:2010/08/07(土) 03:40:05
なるほど!Designerの仕組みがやっとわかったありがとう
868デフォルトの名無しさん:2010/08/07(土) 03:41:34
用語の解釈にずれがあると思う。
>>828は狭義のfieldで厳密には"インスタンス フィールド"
>>848は広義のfieldで上に加えて"静的フィールド"と"readonly フィールド"を含んでる。

ただ、public static readonly fieldはC#言語仕様の中でconstが使えない時の代替として次のように書かれている。
>定数値のシンボル名が必要で、その値の型を const 宣言で使用できない場合、またはその値をコンパイル時に計算できない場合は、static readonly フィールドが役に立ちます。
フィールドには間違いないんだけど、constと並べて"定数"として扱うのが普通じゃないか?

>>863
それはフィールドで実装したプロパティなわけで…別の概念で"依存関係プロパティ"としか言えないんじゃないか。
どっちにせよ依存関係プロパティ使うときはCLRプロパティもセットで実装しとかないといけない。
869デフォルトの名無しさん:2010/08/07(土) 07:59:28
このスレには2種類の人種がいる
職業プログラマで妙にスタイルに拘る人種と
配布もしないサンデープログラマでスタイルなんかどうでもいい人種だ
870デフォルトの名無しさん:2010/08/07(土) 08:39:53
別に依存プロパティはフィールドで実装されてるわけじゃないぞ
DependencyPropertyのpublicフィールドは取得や設定を行いたい対象のプロパティを
指定するためのキーにすぎなくて、プロパティの値自体はやっぱりインスタンスが持ってる
871デフォルトの名無しさん:2010/08/07(土) 09:42:52
先生!
xlsファイルを読み込んだり書き込んだりしたいです
しかもオフィスがインスコされてない環境でもしたいです!

MSDNでこれみてもオフィスがいるみたいで八方塞がりです!
ttp://msdn.microsoft.com/ja-jp/library/ee317478.aspx

どうすればいいですか?
872デフォルトの名無しさん:2010/08/07(土) 09:53:21
873デフォルトの名無しさん:2010/08/07(土) 09:54:19
>>871
npoi
874デフォルトの名無しさん:2010/08/07(土) 10:30:27
>>873
ありがと〜
大好き!
875デフォルトの名無しさん:2010/08/07(土) 10:42:16
publicフィールドがダメな理由を誰か教えてくれ
プロパティへの切り替えが簡単なら、最初はpublicでいいんでないの?
876デフォルトの名無しさん:2010/08/07(土) 10:50:02
お前の好きにやっていいから
他人に確認するな
877デフォルトの名無しさん:2010/08/07(土) 10:54:07
この手の理由確認してくる奴って
自分の中では答えを出してるのに自分への同意が欲しくて聞いてるからな。
構ってちゃんはわんくま同盟で死ねよ。
878デフォルトの名無しさん:2010/08/07(土) 11:12:53
DoNotDeclareVisibleInstanceFields でググれ
879デフォルトの名無しさん:2010/08/07(土) 11:42:39
>>876-877
おまえら暇人だな。
880デフォルトの名無しさん:2010/08/07(土) 12:53:37
>>869
雑な分類だな。

君の言う「スタイルのこだわる」人種にも、少なくとも大きく分けて

(1) 形式主義者。そいつが権威だと思い込んでいる対称の「言いつけ」を教条主義的に固守する。
  「教義」の正当性を問う姿勢は低い。

(2) 合理主義者。スタイルは「可読性の維持」という目的に対して合理的である限り重視する。

の二つの種族がいて、2chなどで起こりがちなのは、一見スタイルにこだわるタイプの中でも
前者の方とそれ以外の種族の争いだろう。
881デフォルトの名無しさん:2010/08/07(土) 13:01:46
最初から争うことだけが目的で
スタイルなんてどうでもいいというのが大半
882デフォルトの名無しさん:2010/08/07(土) 13:44:36
>>875
場合によっては単純に置き換えできない場合があるので最初からプロパティで作るほうがいいよ。
そういうときのためにフィールド宣言なしの手抜きプロパティが宣言できるんだよ。

>>868
public static readonly field
は値が初期化される前に取得できるタイミングがあるのでメンテし続けて複雑になったソースで混じってるとちょっと危ない。
それくらいならpublic staticでgetのみのプロパティで固定値を返すようにして使う。

あと、Obsoleteした後フィールドは削除するわけにはいかなくて困る。
プロパティはObsoleteでも互換性のある挙動に実装を置き換えできたりといろいろ融通が利く。
883デフォルトの名無しさん:2010/08/07(土) 13:56:30
何でこんな初歩的な事で争ってるのか分からん。
外部から参照できるインスタンス フィールドを作るべきではないって入門レベルの話だろって、ここふらっとだったわ。
884デフォルトの名無しさん:2010/08/07(土) 13:58:25
またロジックなき教条主義者が一人来たよw
入門レベルの話をしてるのはお前だろってw
885デフォルトの名無しさん:2010/08/07(土) 14:00:34
入門レベルなら乱数の話がお勧め
886デフォルトの名無しさん:2010/08/07(土) 14:12:47
>>884
お前は何を言っているんだ。
外部から参照できるインスタンス フィールドを使うべきではない理由なんて上にいくつも挙げられてるだろ。

まさか何度も同じ事書けなんて馬鹿なことは言わないだろうな。
887デフォルトの名無しさん:2010/08/07(土) 14:40:25
>>886
君、そもそも何が話題になってるのかちゃんとフォローしてるか?

>>828の少し前辺りから始まってる話なんだが、
誰か一人でも君と反対意見、つまり「privateでないフィールドを使うべきでない理由などない」
と言ってる奴がいるのか?

いねえよそんな奴は。
privateでないフィールドは無条件で禁止すべきとまでは言えない、と言ってるんだけど。
888デフォルトの名無しさん:2010/08/07(土) 14:42:18
フィールドはあとで容易にプロパティに変更できるというのはありがちな勘違いだよ
バイナリレベルでの互換性が無いのは当たり前だけど、
利用側のソースコードを変更しないといけない場合が多い
特にリフレクションやバインディングでは確実に引っかかるが、そうでなくても互換性は無い
889デフォルトの名無しさん:2010/08/07(土) 14:43:21
少し付言しとくと、禁止すべき理由がある、ということは、
禁止すべき理由に当てはまらない場合は禁止する理由はない、ということでもあるんだが、
こういう義務教育レベルのロジックがわからない奴が多いよな自称上級者様は
890デフォルトの名無しさん:2010/08/07(土) 14:44:01
>>888
それも否定してる奴、誰かいるか?
891デフォルトの名無しさん:2010/08/07(土) 14:55:17
>>889
>禁止すべき理由に当てはまらない場合
具体的に

>>890
>>826
>したくなったらあとからプロパティにすればいいよ。
直後にツッコミ>>829入ってるけど
892デフォルトの名無しさん:2010/08/07(土) 14:56:57

なんかいちゃもんつけるために、意図的に拡大解釈してないかこの人。
893デフォルトの名無しさん:2010/08/07(土) 15:03:25
>>891
具体的に、ってそういうのは「そんなのいくらでもある」って嘯いてる側
(君自身じゃないのか?w)に聞いてよ。

俺に聞く理由がわからん。
894デフォルトの名無しさん:2010/08/07(土) 15:10:20
>>893
禁止すべき理由は「そんなのいくらでもある」。上のレス読み直して来い。
「禁止すべき理由に当てはまらない場合」が具体的に何なのか。
そして、あえてpublic fieldを選択するに足る合理的理由を説明してくれ(どうせ言えないんでしょ?w)
895デフォルトの名無しさん:2010/08/07(土) 15:12:37
質問する側がちゃんと質問できてればそうはならんと思う
ちょっと煽るくらいで情報引き出さないと想定できる問題点が多すぎて回答できないとかどうなのよ?

質問者は
素人判断で問題点を想像してそれを根拠に質問するな
大本の判断材料からすでに間違ってることが多すぎる
素直に最終的にやりたい事と現状どうなってるかを明確書け
896デフォルトの名無しさん:2010/08/07(土) 15:15:02
>>815みたいな場合だろ
そもそも>>815のようなそもそもカプセル化なんか無視した方法が問題にならないような簡単なプログラムであれば
プロパティかフィールドかなんてそれこそどうでもいい些細な問題
897デフォルトの名無しさん:2010/08/07(土) 15:15:50
>>895
何で突然話が飛んだのか分からんけど
それが出来る人なら、質問する前の下調べの段階で自己解決するだろ。
898デフォルトの名無しさん:2010/08/07(土) 15:17:29
おまえら自重しろ
質問しづらい空気になってるだろ
899デフォルトの名無しさん:2010/08/07(土) 15:18:51
>>895
それが書ける奴なら質問しねーよバーカ
900デフォルトの名無しさん:2010/08/07(土) 15:19:35
中途半端にプライド高くなってるのが自称上級者なのでこの流れは当分変わらない
どちらか精神年齢の高い方が折れてくれないものかねー
学校で子供を諭してるようだ
901デフォルトの名無しさん:2010/08/07(土) 15:20:40
>>894
あえて禁止する理由が存在しない場合についてはずっと前に回答済み。(>>832)
無礼な口を聞く前にやるべきことをやれよ。

それでも、フィールドを使うべき積極的理由についてはない場合が多いとは
俺も思うが、あえて言えば、値にアクセスすることがそれ以外の何の副作用も
起こさないことを明示する機能はあるかもしれない。
902デフォルトの名無しさん:2010/08/07(土) 15:21:38
>>900
煽りに参加してるお前さんも同レベル。自覚がないのが怖い。
釣られる俺も似たようなもんだが
903デフォルトの名無しさん:2010/08/07(土) 15:21:59
あっちは乱数
こっちはフィールドか
904デフォルトの名無しさん:2010/08/07(土) 15:25:15
>>902
悪いけど自覚して煽ってるに決まってんだろw
905デフォルトの名無しさん:2010/08/07(土) 15:29:59
>>901
>回答済み。(>>832)
あのレスお前だったのかwwwあまりに馬鹿げてたから触らずスルーしてたわ。

>例えば値の検証も〜Changedイベントも必要ないような単純な座標を
>フィールドにするのはむしろ自然。
.NETの慣例からすると著しく不自然。
例えばSystem.Drawing.Pointの座標(X,Y)だってプロパティだ。
906デフォルトの名無しさん:2010/08/07(土) 15:30:38
一緒になって釣られたと思ったら相手は餌だったと。
907デフォルトの名無しさん:2010/08/07(土) 15:31:45
ほんとは釣りでしたー! って敗北宣言したようなもんだな。
釣るつもりなら最後まで通せよ
908デフォルトの名無しさん:2010/08/07(土) 15:32:38
哀れな奴だな
909デフォルトの名無しさん:2010/08/07(土) 15:33:07
言い返せなくなると荒らすのはいつものパターン
910デフォルトの名無しさん:2010/08/07(土) 15:33:07
質問者は、とりあえず
挙げた内容でわかる範囲の答えが欲しいだけ。

それで望む答えが得られなけば、掘り下げて
質問を続ける。または打ち切る。

いたって普通の2chの使い方じゃねーの。
911デフォルトの名無しさん:2010/08/07(土) 15:33:31
最後まで通せよ(キリッ

って別に煽りいれただけなのに
お前が食いついただけじゃねえか
自分で噛み付いといて何その言い草
912デフォルトの名無しさん:2010/08/07(土) 15:34:39
マジレスしちゃって恥ずかしいだけ。
913デフォルトの名無しさん:2010/08/07(土) 15:35:44
>>911
わろす
914デフォルトの名無しさん:2010/08/07(土) 15:36:04
>>902
自覚があるお前は何だ?アホか?
915デフォルトの名無しさん:2010/08/07(土) 15:36:17
レス流そうと必死だなw
916デフォルトの名無しさん:2010/08/07(土) 15:37:11
>>905
「慣例」が「慣例」であるという理由だけで固執する人間のことを教条主義者という。

何度も言うが、>>828に対して「一概に禁止すべきとまではいえない」と
言ってるわけだが、そこのところ理解してるのか。

理解した上で食って掛かってきているのなら一概に禁止すべき理由について
語って欲しいものだな。
917デフォルトの名無しさん:2010/08/07(土) 15:37:11
もちろんアホだろ
918デフォルトの名無しさん:2010/08/07(土) 15:39:11
これ以上続けるなよ
本当に殺すから
919デフォルトの名無しさん:2010/08/07(土) 15:41:21
>>905
おい人をお前呼ばわりして逃げるなよ。
ちゃんと落とし前付けろよ
920デフォルトの名無しさん:2010/08/07(土) 15:42:26
>>916
君は言い返せなくなるとすぐ人格批判に走るな。

「一概に禁止すべきとまではいえない」理由として
>例えば値の検証も〜Changedイベントも必要ないような単純な座標を
>フィールドにするのはむしろ自然。
なんて言っちゃうような馬鹿が何言ってんだw
921デフォルトの名無しさん:2010/08/07(土) 15:43:52
age
922デフォルトの名無しさん:2010/08/07(土) 15:44:01
>>920
余分は話はいいから反論してくれ。
923デフォルトの名無しさん:2010/08/07(土) 15:46:23
まず日本語からまともに頼むよ君ィ
924デフォルトの名無しさん:2010/08/07(土) 15:48:26
>>922
>「禁止すべき理由に当てはまらない場合」が具体的に何なのか。
>そして、あえてpublic fieldを選択するに足る合理的理由を説明してくれ(どうせ言えないんでしょ?w)

ほら、やっぱり言えなかった。
で、「一概に禁止すべきとまではいえない」理由は?
>>832がそうなの?wwww
925デフォルトの名無しさん:2010/08/07(土) 15:50:22
>>924
UFOなんかいないことを証明はできない。
「これがUFOです」という主張を個別に検証することはできる。
言ってる意味わかるか?
926デフォルトの名無しさん:2010/08/07(土) 15:51:42
>>925
UFOwwwwwww
キャトルミューティレーションされてしまえばいいのにwwwwwww
927デフォルトの名無しさん:2010/08/07(土) 15:52:16
>>924
というか、あえてパブリックなフィールドを使うべき理由があるんだ、
なんていってる奴ないないと何度も言ってるはずだが。

義務教育レベルの知能がない奴はこれだから議論にならない。
928デフォルトの名無しさん:2010/08/07(土) 15:53:23
>>925
個別に検証も何も、
「一概に禁止すべきとまではいえない」理由として一番最初に>>832なんて言い出す奴が検証なんてできんの?無理だろw
929デフォルトの名無しさん:2010/08/07(土) 15:57:07
マイクロソフトの方針がプロパティ使えなのに何でずっと言い争うしてるんだよ
930デフォルトの名無しさん:2010/08/07(土) 15:59:12
>>927
>あえてパブリックなフィールドを使うべき理由があるんだ、なんていってる奴ないない
というか、あえてパブリックなフィールドを使うべき理由なんてないんだから、プロパティ使っとけと何度も言ってるはずだが。

>>publicのフィールドが許されるシナリオを挙げてみ。
>そんなのいくらでもある。
>例えば値の検証も〜Changedイベントも必要ないような単純な座標を
>フィールドにするのはむしろ自然。
これのどこがpublicのフィールドが許されるシナリオなんだw
『そんなのいくらでもある。』と言う割りに他のが出てこないけど
931デフォルトの名無しさん:2010/08/07(土) 15:59:54
>>927
義務教育レベルの知能がない奴はこれだから議論にならない。
932デフォルトの名無しさん:2010/08/07(土) 16:11:28
相手は争うのが目的なのに説教足れて良い気になってるからだよ〜〜〜〜〜〜〜〜〜〜〜
933デフォルトの名無しさん:2010/08/07(土) 16:25:28
パブリックなメンバー変数を作ってる奴はキチガイだろ
934デフォルトの名無しさん:2010/08/07(土) 16:35:47
>>925-926
ちょっぴりワロタ
935デフォルトの名無しさん:2010/08/07(土) 16:46:44
パブリックフィールドなんて無理筋で居座るからこんな事になる。
適当に煽ったとこで引くか、題材選んだほうがいい(乱数とかw)
936デフォルトの名無しさん:2010/08/07(土) 16:47:57
乱数は奥が深いからこいつ等は話についてこれないよ
937デフォルトの名無しさん:2010/08/07(土) 16:51:00
>>936
つ、釣られないんだからね
938デフォルトの名無しさん:2010/08/07(土) 16:57:59
>>935
一応突っ込んでおくけど、君のように「自分の主観が世界を決める」という感受性のことを
「セカイ系」と呼ぶらしい。

自分が主観的に煽ってると思えば客観的にもそうなんだ、って思考はかなりヤバい。

それ以前に、そもそも何について議論しているのか正確に把握できない(と思われるが)
その読解力もかなりヤバい。
939デフォルトの名無しさん:2010/08/07(土) 16:59:49
対するお前はキチガイ、か。
940デフォルトの名無しさん:2010/08/07(土) 17:05:09
夏だな。
941デフォルトの名無しさん:2010/08/07(土) 17:20:52
で、publicなフィールド使ってる人っているの?
942デフォルトの名無しさん:2010/08/07(土) 17:25:17
ちょっとしたツールを>>815みたいなノリで適当に作るときは使う
943デフォルトの名無しさん:2010/08/07(土) 17:25:31
>>941
structで使うよ
944デフォルトの名無しさん:2010/08/07(土) 17:28:17
>>929
そりゃそうだろ。C#の言語仕様が追いついてないんだから。
オレに{set;get;}なんて書かせるな。
945デフォルトの名無しさん:2010/08/07(土) 17:46:55
100歩譲って許せるのは、プロトタイプと機械が生成するコード。
946デフォルトの名無しさん:2010/08/07(土) 17:52:46
>>943
それがなぁ、.NET のライブラリ見てると struct もほとんどプロパティになってるんだわ。
あと、set/get はJIT 時にインライン展開されるからパフォーマンスへの影響はそんなにない。
947デフォルトの名無しさん:2010/08/07(土) 18:14:20
XNAでは構造体はpublicフィールドだらけだぞ
パフォーマンス的には、配列の要素にアクセスするときにいちいちコピーが発生するのが問題。
a[0].A.B.C = 10;/*A, B, Cは構造体を返す*/ のようなことをプロパティを通してやろうとすると
無駄なコピーがたくさん発生する。アクセサ呼び出しはJITで消えるかもしれないけどコピー自体は消えない。
948デフォルトの名無しさん:2010/08/07(土) 18:17:37
public フィールドとか初心者かよ
949デフォルトの名無しさん:2010/08/07(土) 18:22:39
コピペ君ってボケ老人に似てるな、まで読んだ。
950デフォルトの名無しさん:2010/08/07(土) 18:45:18
なんでいきなりXNAの話になっているんだろうねえ。
詭弁に頼り始めたらおしまいだねえ。
951デフォルトの名無しさん:2010/08/07(土) 19:46:36
>>948
教科書通り。頭が固いよ。
publicフィールドのメリットすら考えたことないだろ?
952デフォルトの名無しさん:2010/08/07(土) 19:58:08
>>951
どんなメリットがあるの?
953デフォルトの名無しさん:2010/08/07(土) 20:01:04
速度
954デフォルトの名無しさん:2010/08/07(土) 20:04:01
構造体の場合でも階層構造が作れる
955デフォルトの名無しさん:2010/08/07(土) 20:04:07
教科書通りならいいじゃねえかwww
教科書に載ってないことすんなよwww
956デフォルトの名無しさん:2010/08/07(土) 20:08:55
じゃあ君が作ったものをFxCopとStyleCopに通してみて結果うp
957デフォルトの名無しさん:2010/08/07(土) 20:10:58
>>953
C#スレでそれ言ったらB級認定。
958デフォルトの名無しさん:2010/08/07(土) 20:18:56
C級だと思ってたのに
やったー
959デフォルトの名無しさん:2010/08/07(土) 21:03:48
publicフィールドが原因で離婚。
960デフォルトの名無しさん:2010/08/07(土) 21:19:49
privateなクラスとか構造体ならやることあるけどな。
別にフィールドにメリットがあるからじゃなくて、
特にプロパティにする必要がないからってだけだが。
961デフォルトの名無しさん:2010/08/07(土) 21:21:08
自動プロパティが使える場合はもうそれでいいんだけど、
.NET 2.0とかで書いてる場合とかにね。
962デフォルトの名無しさん:2010/08/07(土) 21:23:01
プロパティにする必要が無いことが無いということが分からないやつはオブジェクト指向が理解できていない証拠
963デフォルトの名無しさん:2010/08/07(土) 21:34:34
標準ライブラリ内でだって普通に使ってる。
もちろん必要がないからだが。
964デフォルトの名無しさん:2010/08/07(土) 21:38:56
>>960
逆に、Publicフィールドにする必要がないならプロパティ使ってみたら?
965デフォルトの名無しさん:2010/08/07(土) 21:43:50
自動プロパティ使えない環境じゃめんどくさいもん。
メリットないんだから使おうと思わない(と言いつつ、使うこともまああるけど)。

例えばさ、単なるデータを保持するだけの構造体とかでさ、
全部プロパティにしたら、中読まないとただデータを保持してるだけって確認できないじゃん。
自動プロパティならいいんだけどね。
ただのフィールドなら何もしてないことがパッと見ただけで明らかじゃん。
966デフォルトの名無しさん:2010/08/07(土) 21:58:18

VSだとCtrl+R→Ctrl+Eででるから自動プロパティなんかあんまり使ったことないわ。

俺はわりと<summry>も書くから中身がどうのとかで悩まないな
967デフォルトの名無しさん:2010/08/07(土) 22:07:43
>>962
二重否定使うヤツに言われたくない。
968デフォルトの名無しさん:2010/08/07(土) 22:36:42
>>965
オブジェクト指向を理解していない発言だね
969デフォルトの名無しさん:2010/08/07(土) 22:49:21
オブジェクト指向至上主義かよ
970デフォルトの名無しさん:2010/08/07(土) 22:55:25
>>965に何か「問題」があるわけ?
971デフォルトの名無しさん:2010/08/07(土) 23:33:06
ある
972デフォルトの名無しさん:2010/08/07(土) 23:35:23
だからなんで自分の思う通りにやらないの?
なんで他人に合わせたいの?
なんで自分に合わせて欲しいの?
お前そんなに価値ある人間なの?
973デフォルトの名無しさん:2010/08/07(土) 23:36:39
C#は実利のためならオブジェクト指向を逸脱しても構わないって思想だろ
974デフォルトの名無しさん:2010/08/07(土) 23:40:34
確かに「好きにしろよ」で解決する話なのになんでこんな続くのか。
975デフォルトの名無しさん:2010/08/07(土) 23:49:34
>>961
いやいや、C#3.0で.NET 2.0対象のアプリを作るだけじゃん
976デフォルトの名無しさん:2010/08/07(土) 23:49:48
C#はオブジェクト指向のための言語だということを忘れてはいけない。
977デフォルトの名無しさん:2010/08/07(土) 23:52:00
いやー、最近どう見てもマルチパラダイム言語だけども。
でも、じゃあ、関数型言語ならフィールド使うのかって言われると、違うけど。
978デフォルトの名無しさん:2010/08/07(土) 23:55:51
>>975
世の中にゃいろいろ事情があるんだよ
979デフォルトの名無しさん:2010/08/08(日) 00:37:03
オブジェクト指向…ねぇ
こだわってるようには見えない
980デフォルトの名無しさん:2010/08/08(日) 00:44:53
オブジェクト指向という意味では、C#よりもVB6の方が進んでいる。
981デフォルトの名無しさん:2010/08/08(日) 00:50:55
それはない
982デフォルトの名無しさん:2010/08/08(日) 01:21:22
ないねw
983デフォルトの名無しさん:2010/08/08(日) 01:33:55
純粋なオブジェクト指向やりたいんだったらJava行けば?
984デフォルトの名無しさん:2010/08/08(日) 01:38:57
Javaも純粋じゃないな
985デフォルトの名無しさん:2010/08/08(日) 02:10:30
純粋なオブジェクト指向なんてものに特別に価値があるとも思えない。
だいたい、java出てきたときなんて、全てをクラス内で定義するようになっているから
純粋なオブジェクト指向言語だなんて言ってたんだぜ。
それにいったいどんな意味があるのかと。
986デフォルトの名無しさん:2010/08/08(日) 02:12:28
そのくせプリミティブ型なんて、オブジェクトじゃない型が平気で残ってたり。
987デフォルトの名無しさん:2010/08/08(日) 03:07:46
>>984
http://java.sun.com/docs/white/delegates.html
pure object-oriented(笑)

そんな Java が今や、ラムダ式導入だもんねぇ。
988デフォルトの名無しさん:2010/08/08(日) 05:55:26
JavaにせよC#にせよC++にせよみんなあえてエセオブジェクト指向になっている。
VB6は、そうではない。
989デフォルトの名無しさん:2010/08/08(日) 06:18:20
VB6ってクラス作れたっけ
990デフォルトの名無しさん:2010/08/08(日) 06:36:31
エセと言うならVB6もオブジェクト指向でしょ。
コーディングが面倒なだけで。
991デフォルトの名無しさん:2010/08/08(日) 07:49:28
VB6って継承できたっけ
992デフォルトの名無しさん:2010/08/08(日) 08:00:37
>>991
OOに継承が必須だと思っているのか?
993デフォルトの名無しさん:2010/08/08(日) 09:54:37
JavaScriptェ…
994デフォルトの名無しさん:2010/08/08(日) 10:32:40
合法詐欺がまかり通っている世界経済を見てごらん
金さえ儲けられたらスタイルなんてどうでもいいのさ
995デフォルトの名無しさん:2010/08/08(日) 11:14:59
VB6ってポリモーフィズムできたっけ
996デフォルトの名無しさん:2010/08/08(日) 11:21:28
>>995
できる
997デフォルトの名無しさん:2010/08/08(日) 11:46:38
インターフェイスも使えるけどダックタイピングだからインターフェイス無くてもポリモーフィズムはできる
998デフォルトの名無しさん:2010/08/08(日) 11:48:10
おまえら、ほんとスレ違いの話題が好きだな
999デフォルトの名無しさん:2010/08/08(日) 12:09:05
ふらっとC#,C♯,C#(初心者用) Part62
http://hibari.2ch.net/test/read.cgi/tech/1281236906/

くだらない話でスレを埋める暇があったら次スレ立てろボケジジイども
1000デフォルトの名無しさん:2010/08/08(日) 12:09:16
埋め
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。