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


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

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



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

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

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

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


関連スレ
C#, C♯, C#相談室 Part55(実質56)
pc12.2ch.net/test/read.cgi/tech/1260111240/1

VB.NET質問スレ(Part33)
pc12.2ch.net/test/read.cgi/tech/1263738929/1

C++/CLI part3
pc12.2ch.net/test/read.cgi/tech/1206447234/1

175 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 20:36:37 ]
だね

176 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 20:39:48 ]
並列処理の使い方を理解できるというより、
並列処理の必要性を理解する、ことになるのでしょうね。

必要と思えれば頑張れる、そういうもんでしょ、言語習得ってさ。

177 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 20:41:33 ]
そして別スレッドからGUIコントロールにアクセスして怒られるんですね

178 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 20:48:12 ]
もう・・・ぷんぷんっ

179 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 20:58:05 ]
backgroundWorkerは自由度が低いから使いづらい

180 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 21:05:14 ]
いつまでそのネタ引っ張るつもりだ

181 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 21:16:46 ]
>>179
初心者ではなく低級者の発言ですね

182 名前:デフォルトの名無しさん mailto:sage [2010/03/21(日) 23:34:27 ]
>>170
何の意味があるのそれ?


183 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 00:34:37 ]
質問します。
DataGridViewで特定のCellから値を参照したいんですけど
方法がわかりません。お願いします。



184 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 00:36:04 ]
DatagridView.Rows(0).Cells(カラム名).Value

だけじゃね?
さすがにそれはヘルプ見てみようぜ
それとも何か勘違いしてるかな?


185 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 01:08:49 ]
メソッドに戻り値つけないとどういう処理しているかわからなくなるね
とくにグローバル変数をどうにかしているときとか

186 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 01:14:00 ]
C#スレでグローバル変数とな!?
シングルトンのクラスに詰め込むの?

187 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 01:15:17 ]
フィールド変数だらう

188 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 03:31:48 ]
SlimDX/Direct3Dで描画してるウィンドウの中にWPFでコントロールを描画して使いたいんですが、
いいサンプルはありませんでしょうか。

189 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 03:59:50 ]
このスレレベル高すぎて何いってるのか全然わからないですがさらに初心者向けのスレってないんですか?
FF11でツールを作ろうと思ってます。

190 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 04:12:21 ]
今のFF11ってツールまで作れるんだな…。

191 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 07:09:13 ]
そういやFF11ってなんか言語っぽいもんな
0xFF11みたいな

192 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 09:49:37 ]
ボットでも作りたいのかね

193 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 13:39:33 ]
string型の配列aがnullでも空でもないことを判定するプログラムを考えています。

if ( a != null )
{
  if ( a.Length > 0 )
  {
    (処理)
  }
}

これ以上にスマートな記述方法は存在しますか?



194 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 13:41:26 ]
>>193
string.IsNullEmpty()

195 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 13:43:39 ]
それ、配列にも使えるのけ?

196 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 13:45:57 ]
無理だな
ネストが深くなるのが嫌だから&&でつなぐ

197 名前:193 mailto:sage [2010/03/22(月) 13:49:55 ]
>>194-195
そうなんです。String.IsNullEmptyOrEmptyは文字列には使えますが文字列の配列には使えませんでして・・

>>196
たしかにネストが深くなるのはイヤなんですが、もし&&でつないでしまうとnullだった場合に
a.Legth のところで例外が発生してしまうんです。

だから泣く泣くネストを深くして対処しました。

198 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 13:52:31 ]
ショートサーキットを使うように、|| でつなげばいいだろ。

199 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 13:55:07 ]
& じゃなくて && だよ?

200 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 13:58:02 ]
&&で繋ぐと、結果が偽になった時点でそれ以降は評価されない

201 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 14:03:15 ]
>>200
じゃあ&&でいいじゃないか。変数aがnullなら、他のことをやっても仕方がない。

202 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 14:07:00 ]
try
{
  if ( a.Length > 0 )
  {
    (処理)
  }
}
catch(ぬるぽ)
{
}

・・・違うの?

203 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 14:09:57 ]
>>202
本気で言ってるの?
ぬるぽをキャッチしようとする奴始めて見た



204 名前:193 mailto:sage [2010/03/22(月) 14:10:15 ]
>>200
> &&で繋ぐと、結果が偽になった時点でそれ以降は評価されない

判定式の順番は重要ですか?
たとえば a がnullのとき

if ( a.Length > 0 && a != null )
{
    (処理)
}

とやってしまうと最初の a.Length > 0 で例外が発生したりしませんか?

205 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 14:10:21 ]
フォルダパスからフォルダ名を取得するのってどうすればいいのでしょうか
GetDirectoryNameはファイルパスからフォルダパスを求めるもんですし・・・

206 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 14:10:55 ]
それはないわ。

207 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 14:11:38 ]
>>204
左から

>>205
DirectoryInfo.Name

208 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 14:23:47 ]
>>203
お前の経験が浅いのではw

>>204
&&の前後が逆

209 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 14:25:22 ]
>>207
ありがとうございます!

210 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 14:26:17 ]
null判定を例外で処理しようとするのは初心者

211 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 14:28:27 ]
try
{
}
catch(Exception e)
{
}
なんて書いてるソースはよく見るね

212 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 14:29:34 ]
初心者スレだから意見を聞きたいなら間違ってはいないが
回答としては無い

213 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 14:30:50 ]
>>211
テストソースとしてならいいんじゃない?
それで納品したら次回はないと思うけど



214 名前:デフォルトの名無しさん [2010/03/22(月) 14:31:09 ]
いろいろ作り込んだり、ぐちゃぐちゃになったりして、
新規プロジェクト作成したくなる衝動に駆られるよね
この衝動に名前つけようぜ

215 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 14:31:10 ]
>>211
まぁそれ自体が間違ってるわけじゃないけど
わかってない臭はするな

216 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 14:32:05 ]
>>214
現実逃避

217 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 14:42:19 ]
別にExceptionで受けてもいいだろ

218 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 14:44:43 ]
>>217
どんなException出しても同じ対応するの?

219 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 14:48:29 ]
>>193
var notNullEmptyAry = ary.Where(s => !string.IsNullOrEmpty(s));

220 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 14:49:49 ]
>>218
後処理がいるのは別にきまってるだろw

221 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 14:51:52 ]
>>219
配列の各要素にnull/空文字列が含まれているかどうかなんて話、誰もしてないぞ

222 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 14:52:22 ]
そもそも>>193は、正常な処理をif文のブロック内に書いてる時点で
ソースが汚いと思う

223 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:01:59 ]
どっちが正常なのかは文脈次第じゃないか



224 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:02:22 ]
if(a==null && a.Length == 0) return;

処理

225 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:05:44 ]
|| が正解

226 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:05:52 ]
>>223
さすがに配列のオブジェクトがnullで正常処理とか・・・
そういうのが正常だと言える例あるの?

227 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:07:58 ]
>>220
致命的な例外もわざわざCatchするんですね
かっこいい!

228 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:09:20 ]
>>226
ローカル変数ならあると思うけど

229 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:22:37 ]
初心者からかって遊んでるやつしかいないのかここは

230 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:24:22 ]
外部からデータ貰って配列に入れるときとか、0件だと配列そのものができてない
つまりnullになることあるな。もちろん0件でも正常

231 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:29:32 ]
try-catch はコストが大きいから
>>193のような条件判別では普通>>202のようにはしない

232 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:37:59 ]
>>231
他の言語ならそうだがC#なら正解
エラー処理のために条件分岐やるのはVB6.0で止まっている奴

条件分岐は何かの処理をさせたいから使うわけでエラー処理のためにするべきではない
つまりこれだけでいい
try
{
//何かの処理
}
catch{}

233 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:39:56 ]
>>231
一般的にtry-catch構文はオーバーヘッドが大きいといわれているけど、
C#(clr)でも同じことが言えるの?
なにかこの辺について言及したいい記事はありませんかね。



234 名前:193 mailto:sage [2010/03/22(月) 15:41:49 ]
>>207
>>208
どうもです(´・ω・`)ノ

&&で結ばれた判定式が左から順番に判定されて、条件に合致した時点で残りの判定式の判別は
破棄されるとは知りませんでした。

つまり>>193

if ( a != null && a.Length > 0 )
{
    (処理)
}

と簡潔に記述できるわけですね。

235 名前:193 mailto:sage [2010/03/22(月) 15:42:32 ]
>>222
> そもそも>>193は、正常な処理をif文のブロック内に書いてる時点で
> ソースが汚いと思う

:(;゙゚'ω゚'):!

その件に関しましては常々疑問に思っておりました。
メインとなる処理はif文の中で記述するべきか、外で記述するべきかに関してです。

メインとなる処理はif文の外に書くべきでしたら>>193

if ( a == null || a.Length == 0 )
{
  return false;
}

(処理)

とするべきなんでしょうか?

236 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:43:39 ]
catchした時は重くなるけど通常は関係ないんじゃないの

237 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:43:53 ]
>>234
そういうことはC#ではやらない

238 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:44:25 ]
>>230
0件とnullは違う意味で使うだろ、常識的に考えて

239 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:44:27 ]
>>235
>>224

240 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:45:38 ]
>>235
プログラムはケツまで流すものだとか考えてる人なら
正常処理だけif文に入れる

ようは好きにしろ

241 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:47:20 ]
>>230
そもそもDBの場合
まず件数引っ張ってからデータ取得しない?

242 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:48:28 ]
条件式のネストを避ける書き方って一般的に何ていうんだっけ?

243 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:49:16 ]
>>241
件数そのものを先に欲しい場合はそうするかもしれないが、
普通はカーソル機能を使って最初の1行目だけをもらう。
全部引っ張るようなメモリ食うようなことは避ける。



244 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:52:12 ]
rowsよりcountのほうが軽いだろ

245 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 15:56:43 ]
>>235
delegate bool EmptyDelegate(string[] s);

    EmptyDelegate emp=IsEmp;

    if(emp(s))
    {
      (処理)
    }


  private bool IsEmp(int n)
  {
   if ( a == null || a.Length > 0 )
      return false;
  }
}

246 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 16:00:15 ]
>>245
普通のメソッドでなくデリゲートを使うのはなんで?

247 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 16:11:07 ]
全角変換するなら文頭のスペースだけにしろよ

248 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 16:13:10 ]
>>247
おまえがやれ

249 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 16:14:11 ]
カッコの中の最初と最後を空けるなら全部に適用しろ
算術記号も同様に

250 名前:193 mailto:sage [2010/03/22(月) 16:15:01 ]
>>237
>>239
>>240
どうもです。>>224さんのようにします(´・ω・`)ノシ

251 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 16:18:22 ]
>>249
おまえがやれ

252 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 16:22:54 ]
できないのか・・・

253 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 16:40:50 ]
>>241
外部ってWebサービスでSOAPで受け取ったりするやつもある



254 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 17:19:50 ]
(´・ω・`)←お亡くなりになられました

255 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 17:22:55 ]
>>245
C#1.0のような腐った書き方のうえに腐った命名規則

256 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 17:30:51 ]
スレタイ読めよ

257 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 17:34:24 ]
というかCS0161。論外

258 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 17:45:33 ]
>>192
はいそのとうりでボットを作りたいです。もっと初心者向けのスレないでしょうか。

259 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 17:47:09 ]
いきなりボット作ろうとする人向けの初心者スレは無いと思う・・・

260 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 19:01:04 ]
ちょっとしたプログラムを作って、そのできばえを達人に判定してもらって
技能向上に向けたアドバイスをいただけるスレは無いでしょうか?

261 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 19:03:52 ]
ないんじゃね? あっても罵倒の嵐になりそうだし。

262 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 19:04:37 ]
>>260
スクエニ社内のボット対策スレへ行け。

263 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 19:32:02 ]
>>261
> あっても罵倒の嵐になりそうだし。

。・゚・(ノ∀`)・゚・。



264 名前:デフォルトの名無しさん [2010/03/22(月) 19:44:01 ]
第一

分かりやすいところでBOT開発の情報共有したら
社員にかぎつけられて対策されちゃうだろw

265 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 20:05:45 ]
D言語使えばいいじゃん

266 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 20:10:15 ]
>>265
【超高速】C/C++に代わる低級言語を開発したい
にカエレ

267 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 20:24:02 ]
>>224
ナイスジョーク


268 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 21:16:55 ]
>>233
記事じゃないけどこれとかどうよ
ttp://msdn.microsoft.com/ja-jp/library/x4764854.aspx


269 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 21:17:24 ]
>>255
おまえバカ大将

270 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 21:24:02 ]
>>269
おまえバカ元帥

271 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 21:25:49 ]
>>233
コストを払うのは例外発生時
通常はtrycatchの外とほぼ変わりない

.NET アプリケーションのパフォーマンス関連のヒントとトリック
msdn.microsoft.com/ja-jp/library/ms973839.aspx

trycatchを置き換えるというよりは、条件分岐で例外が投げられるケースを減らす
条件分岐の外を大きくtrycatchで括って漏れた奴キャッチするとかそんなんでもいいの

272 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 21:26:18 ]
>>188
WPFの中でDirectX使うのは可能だけど逆は無理
画像に描画するとかすれば無理やりできなくもないけど極めて非効率

273 名前:デフォルトの名無しさん [2010/03/22(月) 22:14:07 ]
VisualC#2008のデバッグについて質問があります。
デバッグ中時間がかかる処理をしているところを確認したいのです。デバッグの再生ボタンがグレーの実行状態のときに、どこで実行しているか知る方法はありますか?
プログラムは約5000行あり、ブレークポイントを設定する候補の箇所が多すぎる場合、いちいち手動で設定するのではたいへんなのです。
こういう場合、どのようにしたらよいものでしょう?




274 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 22:20:10 ]
>>273
毎日どこから質問拾ってるのか?

275 名前:デフォルトの名無しさん mailto:sage [2010/03/22(月) 22:23:32 ]
>>273
ビデオの一時停止みたいなボタン






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

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

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