[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 04/03 03:17 / Filesize : 222 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん mailto:sage [2009/06/06(土) 12:30:18 ]
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

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

前スレ

ふらっとC#,C♯,C#(初心者用) Part40
pc12.2ch.net/test/read.cgi/tech/1239599317/

152 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 21:52:58 ]
>>148
それだけじゃねーだろ。コンパイル結果見ろ。見て分からなきゃ市ね。

153 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 21:53:32 ]
>>150
どんだけ劣等感持ってんだよw

154 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 21:55:43 ]
>>152
分からん
死ぬ前に教えてくれ

155 名前:デフォルトの名無しさん [2009/06/07(日) 21:56:03 ]
C++も極めればそれなりに使える、自演C++厨房は巣に帰ってガンバレ

156 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 21:57:34 ]
C++に過剰反応する奴はもう寝ろ。疲れてるだろ。

157 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 21:57:35 ]
コンパイル結果はJIT次第だ、ローレベルの話がしたくて仕方がないC++坊は無視

158 名前:デフォルトの名無しさん [2009/06/07(日) 21:58:37 ]
>>156
あのさぁ、過剰反応つーか、埋め尽くすなよって話だろ
ここなんのスレだよ?言ってみろ

159 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 21:58:52 ]
>>157 ← JITがどういう処理をしてるか分かってない奴。

160 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:00:47 ]
>>158
反応しないでスルーできないのか?  スルーしたら埋め尽くされないの。2ch初心者?
おまえみたいのがいるから荒れるんだよ。



161 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:02:12 ]
>>158
スルーしろっつってんだよ。馬鹿か?

162 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:02:15 ]
ほっとていも、ほっとかないでも酷有様、つか埋め尽くし犯人お前だろ >> 160

163 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:02:41 ]
だまんねえと改行で埋めるぞ

だまれ

164 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:03:02 ]
>>158
【魔力】書き込むと願いが必ず叶うスレ【強力】409
だろが

165 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:04:11 ]
C++の人アタマおかし過ぎ

166 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:04:58 ]
それにしても >>142 一人で必死すぎだろw

167 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:05:08 ]
>>164
VB スレに誤爆すんなよw

168 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:05:31 ]
"1"が他に置き換わるような設計してる時点でミスですよ僕に言わせれば

169 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:06:03 ]
心療内科へいって治療してもらえ

170 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:06:22 ]
クラック対策だろjk



171 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:08:37 ]
メソッド内部で書かれたsは定数として処理されて出てこないよ
上でも下でも出力は一緒ね、メンテの問題だけね、変なやついるから相手すんなよ

172 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:10:14 ]
出力が違うと思ってた奴は一人もいないのに偉そうに説明すんな。

173 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:11:01 ]
>>171
分かってないな。そんな話じゃないだろ。

174 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:11:39 ]
つまらん話で発狂するなよ

175 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:12:31 ]
よほどコンプレックスがあるのだろう。

176 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:12:43 ]
もりあがってまいりました

177 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:14:07 ]
向上心なければどの言語でも無駄って事を知れ C++ の人

178 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:16:17 ]
おい黙れって言ってるだろ

179 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:21:59 ]
黙ったぞ

180 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:23:52 ]
>>178-179
お前変過ぎる、精神病院へいけ、今すぐ



181 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:28:46 ]
>>157
ふつうに考えてC#のコンパイル結果ってILの話だと思うぞ。

182 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:30:27 ]
>>157 >>171
スレが荒れているので聞き流されるかもしれないが、C#のコンパイラはあまり最適化などかけず、
かなり素直なコードを吐き出すんだが、それを知っているんだろうか。
public void SampleMethod1()
{
this.textBox1.Text = "1";
this.textBox2.Text = "1あ";
}
public void SampleMethod2()
{
string s = "1";
this.textBox1.Text = s;
this.textBox2.Text = s + "あ";
}
最初の質問の例を一旦コンパイルした後、ディスアセンブルするとこんな感じになる。
ほとんど最適化されてない。

183 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:35:40 ]
ディスアセンブル? バイナリをアセンブラにすることなんだが。

184 名前:デフォルトの名無しさん [2009/06/07(日) 22:39:25 ]
メソッドのインライン展開が行われたりするのは実行時なんだが、それを知っているんだろうか。

185 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:42:36 ]
>>182
ILやメタデータって string s のローカル変数名を保持してんの?
もしそうなら恥ずかしい名前つけれないんだが。

186 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:45:18 ]
>>184
そんなことは当たり前のことだから省略した。長かったからな。
>>185
そう。だから.NET用の難読化ツールとかが出回ってたりする。
前のスレでも話題になった。

187 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:46:22 ]
>>185
保持はしていないね、直接定数をロードしている。
ちなみに const string s = 1; としてしまえばどちらも一緒。

188 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:49:09 ]
.maxstack 8
IL_0000: ldarg.0
IL_0001: ldfld class [System.Windows.Forms]System.Windows.Forms.TextBox WindowsFormsApplication2.Form1::textBox1
IL_0006: ldstr "1"
IL_000b: callvirt instance void [System.Windows.Forms]System.Windows.Forms.Control::set_Text(string)
IL_0010: ldarg.0
IL_0011: ldfld class [System.Windows.Forms]System.Windows.Forms.TextBox WindowsFormsApplication2.Form1::textBox1
IL_0016: ldstr "1a"
IL_001b: callvirt instance void [System.Windows.Forms]System.Windows.Forms.Control::set_Text(string)
IL_0020: ret
ちなみにこんな感じだね、しかしこんなのチクチク詰めていっても関係無くないw
あほくさあほくさ

189 名前:デフォルトの名無しさん [2009/06/07(日) 22:50:03 ]
フィールドと違って最適化で消えることはあるけど基本的には保持される

190 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:50:38 ]
じゃあディスコンパイルしたらどうやって >>182 の sって名前を特定したんだ?
>>182 はガセ?



191 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:51:29 ]
いちいちツッコミどころかC++厨房うぜぇーって感じだな

192 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:52:50 ]
ガセではない。IL表記ならこうだ。
.method public hidebysig instance void SampleMethod2() cil managed
{
.maxstack 3
.locals init (
[0] string s2)
L_0000: ldstr "1"
L_0005: stloc.0
L_0006: ldarg.0
L_0007: ldfld class [System.Windows.Forms]System.Windows.Forms.TextBox ImageComposer.Form1::textBox1
L_000c: ldloc.0
L_000d: callvirt instance void [System.Windows.Forms]System.Windows.Forms.Control::set_Text(string)
L_0012: ldarg.0
L_0013: ldfld class [System.Windows.Forms]System.Windows.Forms.TextBox ImageComposer.Form1::textBox2
L_0018: ldloc.0
L_0019: ldstr "\u3042"
L_001e: call string [mscorlib]System.String::Concat(string, string)
L_0023: callvirt instance void [System.Windows.Forms]System.Windows.Forms.Control::set_Text(string)
L_0028: ret
}

193 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:52:51 ]
reflectorでぐぐれ

194 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:53:51 ]
ああ、s2になっているのは、ローカル変数がたまたまsという
名前になっているのではないかと疑ったので変えてみた。

195 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:56:46 ]
>>192
おや、おれのと結果違うね
.method private hidebysig instance void Test2() cil managed
{
// コード サイズ 41 (0x29)
.maxstack 3
.locals init (string V_0)
IL_0000: ldstr "1"
IL_0005: stloc.0
IL_0006: ldarg.0
IL_0007: ldfld class [System.Windows.Forms]System.Windows.Forms.TextBox WindowsFormsApplication2.Form1::textBox1
IL_000c: ldloc.0
IL_000d: callvirt instance void [System.Windows.Forms]System.Windows.Forms.Control::set_Text(string)
IL_0012: ldarg.0
IL_0013: ldfld class [System.Windows.Forms]System.Windows.Forms.TextBox WindowsFormsApplication2.Form1::textBox1
IL_0018: ldloc.0
IL_0019: ldstr "a"
IL_001e: call string [mscorlib]System.String::Concat(string,
string)
IL_0023: callvirt instance void [System.Windows.Forms]System.Windows.Forms.Control::set_Text(string)
IL_0028: ret
} // end of method Form1::Test2
まっ、こんなのはコンパイラのバージョン次第で何でてるくかなどコンパイラの作り手の勝手なわけですが。

196 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 22:59:04 ]
/oの有無の違いに決まってるだろjk

197 名前:デフォルトの名無しさん [2009/06/07(日) 23:01:27 ]
pdbファイルが同じディレクトリにあったらildasmが読んでるみたいだ
アセンブリ自体には含まれない

198 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 23:04:17 ]
しかしなんで string s 使うか直書きするかの違いがILDの話になるんだと……
おかしくね?

199 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 23:04:40 ]
試したらアセンブリ自体には含まれないな。冷や汗かいたぜ。

200 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 23:05:45 ]
アホのC++坊よけには丁度いいかもしれんけど



201 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 23:08:33 ]
結論:string s 推奨。

202 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 23:18:48 ]
あんだけ荒れてたのにスレ止まった・・

203 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 23:22:07 ]
C#の話題、C++であってもC#と関連する話ならいくらでもレス付けますがな
C++サイコーっていいたいなら巣に帰れって事

204 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 23:25:41 ]
C++サイコーなんて主旨の書き込みはどこにもないわけだが。
一人必死でC++叩いてる奴が荒らしてただけだよ。

205 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 23:30:09 ]
まったくこれだけ書き込みまくっていけしゃぁしゃぁと、死んでしまえw

206 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 23:34:10 ]
一人汚いレスばかりする人がいますな。

207 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 23:37:31 ]
C++の人さ、努力って大事だよ、ちゃんと勉強してC++使えるようになろうな
そしたら、こんなスレッドで嫌がらせなどしなくても自信もって生活できるようになる。

208 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 23:48:10 ]
>>141はC++が初心者装った嫌味に見え
>>142が反応した
という流れじゃなかろうか

209 名前:デフォルトの名無しさん mailto:sage [2009/06/07(日) 23:50:46 ]
ちょっと話変わるけど、Visual studio 2010でC#のインテリセンス変わったよな。
インクリメンタルサーチ式になったけど、あれはもう旧式に戻らないのか?オプションに設定項目はなかったが
進化だとしても旧式も用意して欲しいもんだ

210 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 00:03:54 ]
え?



211 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 00:15:42 ]
>>207
そうやって煽ってるのはおまえ一人だけなんだが。さっさと消えろカス。

212 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 04:04:23 ]
C#勉強中です。

Google LABSのソースコード検索をマニュアルの補助に使っているのですが、
ちょっと疑問に思うコードがあったので教えてください。

リソースの解放を確実に行うため、usingを使ってスコープを定義すると
いう方法があると思うのですが、そのコードではこう書かれていました。

SQLiteDataReader reader;
using (reader = command.ExecuteReader())
{
 何かの処理
}

この様にusingの外にDataReaderを定義して、usingの終わりで確実に
Dispose()されるのでしょうか?


213 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 04:12:07 ]
>>212
SQLiteDataReader reader;
try
{
}
finally


のように宣言することが推奨されている。

msdn.microsoft.com/ja-jp/library/yh598w02.aspx

214 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 04:14:03 ]
すまん変なところで送信してしまった。

SQLiteDataReader reader;
{
try
{
 // 何かの処理
}
finally
{
 if (reader != null) ((IDisposable)reader).Dispose();
}
}
と同等だけど
using (SQLiteDataReader reader = command.ExecuteReader())
{
 // 何かの処理
}
のように宣言することが推奨されている。

215 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 04:14:22 ]
>>212
using が実は現状確実にDispose してくれないという話的には Dispose され
ないと答えるけど、その話を除けば普通に
using(SQLLiteDataReader reader...)
とした場合と同等レベルには Dispose される。

これとそれの違いはスコープぐらいかな、意図がそれだけだと正直わか
らんが。

216 名前:212 mailto:sage [2009/06/08(月) 04:38:37 ]
>>213-215
ありがとうございました。

GCがいつ実行されるか分からないというのは一応承知してます。
安心してusing内に書くようにします。


217 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 05:08:35 ]
>>216
あー。GC とかは関係ない。
説明すると、現状の using には Abort されたときの耐性がない
という話。
インスタンスが生成された直後とローカル変数に代入されるまでの
間にスレッドが Abort されれば Dispose は呼ばれない。それも
含めて Finalizer が必要な理由にもなっている。
と思って今確認したら try の外でやってるし…なら try に入るまで
かな。

めったに問題になることじゃないので記憶の片隅においておくだけで
いい知識だが。

218 名前:212 mailto:sage [2009/06/08(月) 05:59:16 ]
>>217
ありがとうございます。

今の自分の知識ではお話の半分ほどしか分かりませんが、
滅多に問題になることはないということも含めてメモっておきます。


219 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 11:26:26 ]
あるフォームに対して、サイズ変更枠が付いたままタイトルバー有り無しの
切り替えをしたいと思い、フォームのコンテキストメニューから「切り替え」を
選択した際に、タイトルバーをなくす場合はフォームのTextを空にして
ControlBoxをfalseにしています。しかしControlBox=falseかつText=""
という操作をすると、それ以降Application.Exitで終了したときに
FormClosingイベントが呼ばれなくなってしまいます。
フォームの終了時に設定を保存したいのですが、終了処理はどこで
行えばいいでしょうか。よろしくお願いします。

220 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 13:03:06 ]
>>219
操作中に例外が発生してるんじゃないかな。
そうすると何も起こらず終了しているように見えることがある。
コントロールの存在・状態チェックはしっかりやろう。



221 名前:219 mailto:sage [2009/06/08(月) 13:39:01 ]
>>220
ありがとうございます。存在していないコントロールに触っているのかと思い、
原因を調べるために怪しい所を省いた以下のソースを実行してみたんですが
やはりフォームのTextを空にしてControlBox=falseとすると、FormClosing
のところにブレークポイントを設定してもヒットしなくなりました
ttp://sakuratan.ddo.jp/uploader/source/date112420.txt

こういう場合にはFormClosingイベント等は使えないのでしょうか。。。

222 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 13:41:22 ]
>>221
というか、Application.Exit()じゃなくてメインのフォームをクローズするのが普通じゃないの?

223 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 13:48:16 ]
>>>222
そうですね、よく考えたらサブのフォームからでも
MainForm.Close()ってすればいいんですよね
Application.Exitの事は忘れます。ありがとうございました

224 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 14:31:59 ]
二つの配列を一つにまとめるにはどうしたらいいでしょうか?

int[] a = {1,2,3};
int[] b = {4,5,6};

int[] c = {1,2,3,4,5,6};

225 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 14:47:35 ]
c = a.Concat(b).ToArray();

226 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 14:59:34 ]
225> 出来ました。ありがとうございます(_ _)

227 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 19:56:13 ]
Window Formの初期化のタイミングとして、
1.コントラクタのInitializeComponent();の後、
2.Loadイベントハンドラ内、
3.フォーム表示直後のShownイベントハンドラ内
の3つがあると思います。

1,2と3はフォームが表示される前か後ろかという違いがありますが、
1と2ではどういう違いがあるのでしょうか?


228 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 20:07:05 ]
newしたときに呼び出されるか表示とかしようとしたときに呼び出されるか

229 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 20:08:23 ]
C#ってASP開発できるんですか?

230 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 20:14:18 ]
ASP.netなら出来る



231 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 20:20:21 ]
>>228
なるほど、ということは、

コンストラクタ→New後、フォーム表示前に一度だけ実行

Loadイベントハンドラ→フォーム表示前に実行。リロードしたら再度実行される。

Shownイベントハンドラ→フォーム表示後一度だけ実行(リロードしても実行しない)

くらいに考えとけば良いですか。

232 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 20:30:49 ]
普通、Windows Forms にリロードという概念はない。

233 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 20:35:35 ]
〜Changedっていうイベントはオブザーバーパターンなんですか?

234 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 20:47:44 ]
>>232
・・・もう一度マニュアル読んできます。
ありがとうございました。

235 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 20:50:26 ]
イベントはイベントだろ

236 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 20:51:31 ]
今日なんかあるの?

237 名前:sage [2009/06/08(月) 21:28:25 ]
VisualC#2008で、再表示がうまくできずに困っています。
fileSystemWatcher
でファイルを監視し、ファイルを読みこんで表示しようとしています。

string file = @"C:\tmp.txt";
public Form1()
{
InitializeComponent();
}

private void fileSystemWatcher1_Changed(object sender, System.IO.FileSystemEventArgs e)
{
string[] lines = System.IO.File.ReadAllLines(file, Encoding.GetEncoding("Shift_JIS"));
//MessageBox.Show(lines[1]);
label1.Text = lines[1];
label2.Text = lines[2];
label3.Text = lines[3];
label4.Text = lines[4];
label5.Text = lines[5];
}
監視はできているようなのですが、2度めの表示が行われません。
どこがまずいんでしょうか。


238 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 21:38:16 ]
public static List<T> a = new List<T>();
↑静的なListって可能なんですか?
どうやってメモリを確保しているんですか。

239 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 21:39:22 ]
>>237
そのコードだけで判断しろってのも難しいが、ひょっとして
C# の Array(string[] とか) のインデックスは 0 から始まるぞ。
それはさすがにOK?


240 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 21:40:04 ]
>>238
可能
起動時に自動で1度だけ呼ばれる



241 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 21:49:47 ]
>>240
正確には、そのクラスが初めて使われるときね。

242 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 21:50:42 ]
>>237
一応の確認だけど、そのFileSystemWatcherはVSでツールボックスからD&Dしたものだよね?

243 名前:238 mailto:sage [2009/06/08(月) 22:00:57 ]
>>240-241
へー。
静的なのか動的なのか、分かったような分からないような…。
ありがとうございます。

244 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 22:01:22 ]
初めに表示するメインフォームがアクティブにならずに起動することがある
ビルドして何もクリックしてないのにキャプションバーが灰色になってる
ウィンドウズのバグ?

245 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 22:11:04 ]
すぐ Windows のバグ? とか聞く奴は、死んだ方がいいと思うよ。

246 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 22:13:14 ]
2DMAPエディタを作ってみたいと思います。配列は必要というのはわかりました
どなたか知恵を貸してください。設計とか初めてなので><

247 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 22:17:57 ]
アイコンエディタでも描いてろ

248 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 22:22:43 ]
>>246
二次元配列使うとやりやすいと思う
int[,] ってやつ
後は
画像を分割して描画する(g.DrawImage)
バイナリ(orテキスト)でそのデータを保存する
保存したデータを読み込む
クリックした場所を取得する
等々

最低限上の機能は必要
そのほかマップの大きさだとかも必要だろうし
スクロールも必要

249 名前:デフォルトの名無しさん [2009/06/08(月) 22:30:06 ]
StreamReader(じゃ無くてもいいのですが)を利用して
単純にファイルを開くだけの処理を記述した場合、
1Kと100Mのファイルでは、オープンにかかる時間は違うものでしょうか?

挙動を見ると、単にファイルを開くだけ(Readしない)だと、
どちらも大して時間がかからないのですが、
大きなファイルは開くだけでも時間がかかるといわれまして。

試したところでは、大差ないので、読み込まずに開くだけであれば差は無いのかと
思ったのですが、違いがわかるかた教えていただけますか?

250 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 22:32:48 ]
言われたんだろ?言った奴に根拠を聞けよ



251 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 22:34:39 ]
>>243
static と言いつつ、静的(コンパイル時決定)じゃない。
あれにstaticって名前が付いてるのはC++を意識しすぎた結果。
実際にはクラス変数とでも呼ぶべきもの。


252 名前:デフォルトの名無しさん mailto:sage [2009/06/08(月) 22:35:07 ]
>>249
違わない
その人は何か既成のアプリと勘違いしてるんじゃない?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<222KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef