- 1 名前:デフォルトの名無しさん mailto:sage [2014/04/20(日) 08:07:52.10 ID:tLxbFHYI]
- 前スレ
C#, C♯, C#相談室 Part82 toro.2ch.net/test/read.cgi/tech/1386763696/ Visual Studio 2010 Express 他 www.visualstudio.com/downloads/
- 263 名前:デフォルトの名無しさん [2014/05/12(月) 18:50:10.34 ID:rNMuS3MH]
- C#のvarって、別に読みにくくならないと思うが。同じ事を2回書かないで済むようになっているだけって認識だな。
それと、C#のvarとVBのvariantって全然ちがくね。どっちかっていうと、dynamicがvariantに近いよね
- 264 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 19:01:02.89 ID:lehFDRdw]
- varはただの糖衣構文だからね
dynamicは内部的にはObjectって聞いたことあるような気がするけど
- 265 名前:デフォルトの名無しさん [2014/05/12(月) 19:09:08.86 ID:1w9leY4l]
- dynamicは動的言語的な名前でのアクセスを高速にやるために
動的なコード生成的なハックをしてるって聞いたけど VBはもともと動的言語だからvariantも素直に名前でアクセスしてるだけじゃねえの
- 266 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 19:09:26.04 ID:/j+EhCNv]
- 話の流れを読まずにレスすると
>C#のvarとVBのvariantって全然ちがくね そんなことは みんなわかってる
- 267 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 19:11:17.79 ID:/j+EhCNv]
- >>265
>VBはもともと動的言語 えっ? インターフェースに基づいてメソッド呼び出しする言語なのに?
- 268 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 19:14:20.20 ID:OiSoC7y/]
- >>262
マゾいなぁ うん、オールドタイプだよあんた
- 269 名前:デフォルトの名無しさん [2014/05/12(月) 19:16:49.39 ID:1w9leY4l]
- いやいやvariantとvarの違いも分かってないキチガイが低レベルなオナニーしてるだけでしょ
- 270 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 19:17:33.57 ID:1Oc6ahzf]
- 別に俺もvar=Variantとか主張する気はサラサラない。
使い方として一緒にしちゃってない?って聞いているだけで。 >>265 C++からVariant触ってみればどういう実装かすぐわかるよ。 VBからVariantつついても内部的な型を意識しないとハマるのも一緒。 >>263 var hoge = hogeList.GetNextData(); こんなコード一行見てどんな型か想像つく? var hoge = new ObservableCollection<string>(); とかなら分かるが。
- 271 名前:デフォルトの名無しさん [2014/05/12(月) 19:23:06.49 ID:1w9leY4l]
- >>270
それはvarが悪いんじゃなくて hogeという変数名が悪いの 変数名を目立たせるためにvarがある まあhogeなんて変数名を意図的に付けなければvarを付けて可読性が下がるコードなんて作れないよ
- 272 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 19:37:37.98 ID:vIiN2rHa]
- >>262
ある程度の規模になるとどちらにせよ落として支援つけないときついな Reference Sourceみたいにメソッドだけでもたどれるとまだマシなんだけど
- 273 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 19:40:53.44 ID:eFwDCItY]
- >>271
それは一般的には話が逆だと思うよ。 一般的にローカル変数については暗号的な名前でも構わないとされているし、 その理由は、それが何者であるかは型と前後の文脈から分かるから。 もちろんvar使ってもVS使う限りインテリセンスで型はわかるし、そうでなくても メソッド名その他から型がわかるケースも多いけどね。
- 274 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 19:46:33.94 ID:ACtGf3jF]
- vaiantの凶悪なところは a =1 +"1" で aが2になる挙動だわ
せめて入っている型と代入した型が異なったらエラーで止まって欲しい
- 275 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 19:47:28.93 ID:koOZGk+1]
- >一般的にローカル変数については暗号的な名前でも構わないとされているし、
(´・∀・`)ヘー
- 276 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 19:48:12.33 ID:koOZGk+1]
- VariantがクソなんじゃなくてVBがクソということでFAだな
- 277 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 19:52:28.17 ID:ACtGf3jF]
- >>276
アレでも前世代のBasicに比べたらはるかにマシなんだけどね
- 278 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 21:25:47.98 ID:b2+C7k5G]
- Roslynプロジェクトの規約だとvarは原則禁止で
>>270の後者のように右辺に型名がくる場合だけOKだよ LINQ禁止だしforeachも列挙子が構造体でないものは禁止 さすがにコンパイラだから保守的になるわな
- 279 名前:デフォルトの名無しさん [2014/05/12(月) 21:47:10.68 ID:oYZZ6D9M]
- C#の場合var使ってローカルの変数名もある程度まともにするのが流儀だと思うが
LINQとか何が入ってるのかよーわからんし
- 280 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 21:50:13.73 ID:1hZHnOd8]
- リーダブルコードでは説明的な名前にしろって書いてあったな
暗号ね、どこの一般やら
- 281 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 21:51:28.22 ID:vNBTKcrK]
- Linqのクエリ形式は苦手だなぁ
>>278 >foreachも列挙子が構造体でないものは禁止 これって何を危惧してのことなんだろう? 列挙中にクラスインスタンスの状態が変更されないように、とか?
- 282 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 21:55:10.30 ID:dBEplP4G]
- パフォーマンス
- 283 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 21:58:44.92 ID:zjVah+tY]
- TreeNode _1838e3376;
とか宣言するのか。 目頭が熱くなってきた。
- 284 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 22:04:22.44 ID:kkPuRxjD]
- >>280
リーダブルコードなら、明らかな一時変数ならどうでもいいって書いてあったような
- 285 名前:デフォルトの名無しさん [2014/05/12(月) 22:05:14.02 ID:1w9leY4l]
- >>273
そもそもローカル変数の名前が暗号でいいなんて考えは論外だから 可読性というものを一度でも考えたことがあるならそんな結論にはなりようがない
- 286 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 22:05:39.18 ID:1hZHnOd8]
- >>284
一時変数だと分かればいい、だよ ようなじゃない
- 287 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 22:09:44.30 ID:rDnznASh]
- 暗号的にする意味もわからない。
手作業での難読化を強要されている可能性以外には。
- 288 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 22:10:26.89 ID:XToYxcYs]
- >>285
馬鹿馬鹿しくて反論する気にもなれないが、他人の書いたコード読んだことある? ローカル変数で説明的な名前が適切なケースももちろんあるが、そちらの方がむしろ例外的。 ローカル変数に説明的な命名をする人なんかいないよ。
- 289 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 22:12:16.20 ID:dBEplP4G]
- 俺は納品前に説明的にリファクタリングするけど
- 290 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 22:12:32.11 ID:6r4KrQ0C]
- 暗号「的」って暗号使うって意味じゃないでしょ
kbtitとかそんな話でしょ
- 291 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 22:13:39.55 ID:1hZHnOd8]
- なんか話が通じない気がしてきた
こりゃ駄目だわ
- 292 名前:デフォルトの名無しさん [2014/05/12(月) 22:14:35.51 ID:1w9leY4l]
- 説明的になりすぎて名前が長くなりすぎるのも好ましくないからな
ひと目で見渡せる範囲で何の処理をしてるか分からないと直感的に読みやすいコードにならないから 型名を分かりやすく短くしたものが変数名になる っていうパターンが多いね俺は
- 293 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 22:16:18.20 ID:twKZ90SO]
- 話題になってるリーダブルコードでは、
タイプ数なんかケチるなよモダンなエディタ使ってんだろ? って書いてありました。
- 294 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 22:17:43.69 ID:twKZ90SO]
- auは毎回id変わるのか…。
ハゲは変わらなかったのに。
- 295 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 22:17:48.11 ID:rRKhLlHV]
- ANSI Cの関数みたいな感じに短縮した名前ならよく使うけども
- 296 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 22:18:26.37 ID:XToYxcYs]
- >>287
暗号的というのは機能を明示的に表してないという程度の意味だよ。 var fs = new FileStream(path, FileMode.Create) これをいちいち、 var fileStreamToReadWriteLog = new FileStream(path, FileMode.Create) なんて説明的な名前を付けるのはダメグラマ。 そんなの前後のコード見ればわかるし、わかるように書けと。
- 297 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 22:19:25.38 ID:1hZHnOd8]
- 逆に聞きたいけどそれのどこが「暗号的」なんだ
- 298 名前:デフォルトの名無しさん [2014/05/12(月) 22:20:33.90 ID:1w9leY4l]
- 意味の薄いことを長ったらしく書いていいんだとすれば
varを使わず型名をいちいちかけって言うことになる 見るのが大変で直感的にわかりづらい長ったらしいコードになっていいなら varを使う理由もない
- 299 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 22:20:54.99 ID:4cnM3h7R]
- 暗号という言葉が利用されるところで仕事をしたことが無いんじゃないか?
アクロニムって単語が出てこないんだろ。
- 300 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 22:21:26.99 ID:XToYxcYs]
- >>297
君みたいな非常識な奴にとっては違うんだろうねとしか言いようがない。 では何というべきなのか。 こういう場合は暗号的っていう表現を使うんだよ馬鹿。
- 301 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 22:24:32.30 ID:6r4KrQ0C]
- そもそもvarとかうんこって書いたの俺だけどここで話してるようなことについて言ったわけじゃないからな
まぁC#スレはプログラミング言語についての議論できるようなレベルじゃないからいちいちつっこまないけど
- 302 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 22:24:43.20 ID:XToYxcYs]
- >>299
暗号的な命名はいつも頭辞語とは限らない。 じゃあhogeって何の頭文字なのか言ってみな
- 303 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 22:24:51.83 ID:1hZHnOd8]
- 普通に頭字語じゃないの
すさまじいねこれは
- 304 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 22:26:17.71 ID:13D7ee2l]
- 子供みてえにじゃあじゃあ言い出したな。
- 305 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 22:27:54.07 ID:6r4KrQ0C]
- どっから引用したのか知らんけどそこはどうでもいいよ
単にその言葉の解釈について思ってたのと違ったってだけだから
- 306 名前:デフォルトの名無しさん [2014/05/12(月) 22:28:19.55 ID:1w9leY4l]
- 言葉の定義につっかかって本質の議論ができないアスペの集まりか・・・
- 307 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 22:28:28.33 ID:zZkIxMS0]
- 1バイトを削るのに命を賭けたり、人生でキーボードを打つ事の出来る回数が決まっている人でも無い限り
変数名は分かりやすくしてクレヨン。 あんま長ったらしいのも問題だけど、変数名や関数名から役割を普通に判断できるくらいにはして欲しい。 >>298 個人的にはvar使わない派。型名を書くことを他人に強制する事までは無いがね。 使わない理由はぱっと見で型が分からないのが嫌いだから。 使うとしてもforeachとかくらいか。
- 308 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 22:28:34.03 ID:XToYxcYs]
- >>304
なるほど、その幼稚な物言いが子供みたいだとは思わないんだ。 馬鹿だろお前。
- 309 名前:デフォルトの名無しさん [2014/05/12(月) 22:29:37.19 ID:1w9leY4l]
- varを使いさえすれば型名がいかに必要のない情報か実感を持ってわかるだろう
食わず嫌いはやめよう
- 310 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 22:31:20.65 ID:rRKhLlHV]
- 人格批判が出てきたので
このお祭りもそろそろ終わりですね 俺はごく狭い範囲でしか使わないFileStreamならfsって付けちゃうな ログを書き出すような寿命の長い変数ならもうちょっと丁寧に付けるが
- 311 名前:デフォルトの名無しさん [2014/05/12(月) 22:33:18.65 ID:1w9leY4l]
- 何のファイルのストリームかが自明ならfsでいいと思うけどね
- 312 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 22:33:45.43 ID:1hZHnOd8]
- そもそも説明的な変数名をつけろってのは
スクロールしないと意味を追えない変数は邪魔だってのが本題だから 一時変数は一時変数だと分かればいい=寿命が短いなら寿命が短いことが分かればいい ってのもそういう意味ですよ誤解しないでね
- 313 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 22:34:23.64 ID:dBEplP4G]
- Streamって大抵の場合コンストラクタやメソッドに突っ込んでおしまいだし、
スコープもusingで明示されることが多いから変数名云々の議論には全く向かないだろ
- 314 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 23:12:10.79 ID:4a9Ad8ki]
- >>300
> こういう場合は暗号的っていう表現を使うんだよ馬鹿。 使わねーよ。 使うと言うならその証拠だしなよ。
- 315 名前:デフォルトの名無しさん [2014/05/12(月) 23:20:41.55 ID:h67qSrzm]
- ArrayList は参照型なのでしょうか?
ArrayList に ref を付けずに外部ファンクションに渡して値を設定しました。 呼出し元で確認すると ref をつけていないにも関わらず値が格納されていました。
- 316 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 23:22:00.15 ID:b2+C7k5G]
- むしろ何故参照型でないと思ったのか
関係ないけどArrayListは過去の遺物だから使うな
- 317 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 23:36:18.41 ID:XToYxcYs]
- >>314
繰り返すが、では何というのか。 いや答えなくていいよ馬鹿。 ja.wikipedia.org/wiki/命名規則_(プログラミング) こういう馬鹿ってたとえば「教科書的なサンプルコード」って表現を聞いたら教科書に書いてある サンプルコードのことだとか思うのかね。 あるいは「文芸的プログラミング」って聞いたら文学的味わい(笑)のある人語の文章で コーディングするとか思うのかね。 義務教育からやりなおした方がいいんじゃないのマジで。
- 318 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 23:44:24.50 ID:FPCSC9Pj]
- 歴史の授業よろしく過去の遺物だけ教えて
近現代史まで教えてない義務教育もどうかと思う
- 319 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 23:57:33.94 ID:4a9Ad8ki]
- >>317
根拠として Wikipedia って... 笑いとろうとしてるのか? マジで、意味はとれなくないけど、スゲー違和感あるし、アホっぽく聞こえるからな他所でしゃべらない方がいいぞ (w
- 320 名前:デフォルトの名無しさん mailto:sage [2014/05/12(月) 23:59:57.05 ID:dBEplP4G]
- 普通のWikipedia記事と出典が与太話一カ所にしか付いてない>>317を同列に扱うのはちょっと…
無論全般的にうんこなんだけど
- 321 名前:デフォルトの名無しさん [2014/05/13(火) 00:05:53.91 ID:1w9leY4l]
- 細かいことを気にして本質が見れない奴は駄目だ
プログラマはそうなりがちだから注意しろ
- 322 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 00:10:19.36 ID:OtWszYiC]
- リンクはUrlエンコードして貼れとなんども
- 323 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 00:27:47.73 ID:N+BzxmIn]
- >>321
× プログラマ ○ バカ
- 324 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 01:28:29.43 ID:6lHeR6ab]
- >>309
型名が必要ないって全く理解出来ないなぁ。C#で型を意識しないって時点でネタだろ? そもそも結局変数名短縮して書くとか言っている時点で型を意識してるんじゃないの? そんな俺俺ルール全開の話展開されてもなんか一人でコード書いている人の オナニーにしか見えないよ。 多人数で書いていたら命名規則とかをガチガチに決めない限りそんな曖昧な コードは混乱するだけだし、人のコード読んだり見せたりした事無いんじゃない? そんな事するくらいなら型名できっちり明示されていた方が間違いないだろ。 varは同じことを二回(宣言と初期化)書かなくていいって程度の話だと思うんだが それは見通しが良くなるという意味であって型に関して意味が無いという話ではないぞ
- 325 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 01:59:28.36 ID:VAAeDIGc]
- Dictionary<string, Dictionary<int, 自作クラス>>
みたいなの書かなければいけなくなったときに 型名を捨てました。 でも数値は型に関わらずnValueみたいにつけちゃうかも Numberの意味で
- 326 名前:デフォルトの名無しさん [2014/05/13(火) 02:06:16.80 ID:SWSrJt6s]
- varを使うと、「変数は宣言時に初期化」が強制される
ってのが一番の利点だと思っているんですけど。
- 327 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 02:24:37.33 ID:nxvHWi8Q]
- 思ってりゃいいよ。口を開くな。
- 328 名前:デフォルトの名無しさん [2014/05/13(火) 10:05:01.34 ID:pfvuptpJ]
- >>326
このスレでは>>327の意に添わないレスは禁止されている。 以後気をつけなさい。
- 329 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 12:37:21.47 ID:Q2oZdJZr]
- >>324
使うメソッドを持ってれば実行されるから、型なんてどうでも良い。
- 330 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 12:58:43.04 ID:vRP8IXzs]
- >>326
> varを使うと、「変数は宣言時に初期化」が強制される 意味わからん。 var 無くても宣言時に初期化が必要な変数は初期化するし、不要な奴はしない。 なんにも変わらん、ちょっと書き易くなっただけ。
- 331 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 13:03:36.11 ID:pOysepT3]
- 昨日から馬鹿が多いな本当。
型なんかどうでもいい、って言ってる奴は、釣りで言ってるのでなければ 1週間後には書いた本人にも理解できないようなコードを書くタイプ。 要するに、今コードを書いている自分の頭に入っているような前提知識を持たない人から 自分のコードが可読的に見えるかどうか、っていう視点が欠如してるタイプ。 そりゃコード書いてる時にはコード上に型が明示されてなくても何も困らないに決まってる。 だってそんなの「今」コードを書いてる自分には自明だからな。 問題は「今」自分が持ってる一時記憶が失われた後でもコードが可読的かどうかのはずなんだが、 ダメグラマってこういう当たり前のことがわからないみたいね。 単にわからないだけじゃなくて、何度それで失敗してもその失敗から学習しない。
- 332 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 13:03:59.58 ID:Q2oZdJZr]
- varは宣言時に代入もしないと、型が判らないからコンパイルエラー
- 333 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 13:20:44.11 ID:Oq17BpUc]
- >>331
昼間から遊んでんなよ
- 334 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 15:30:35.03 ID:Bi6mCPJj]
- 宣言時に初期化することがメリットとは思えないなぁ。
他の言語ならともかく、C#ではvarを使わなくても、 初期化されていない可能性のある変数への参照は コンパイラが警告を出してくれるんだから。
- 335 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 17:02:03.84 ID:tPkiUW7x]
- 思わなくていい。糞みたいな口を開くな。
- 336 名前:デフォルトの名無しさん [2014/05/13(火) 17:07:01.01 ID:+/9sUvLU]
- >>331
型なんかどうでもいいって書き込みなんか無いと思います。 プログラムが読めても日本語が読めない人ですか?
- 337 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 17:15:21.16 ID:2bqSYurQ]
- >>336
>>309 型は必要のない情報 >>325 型名は捨てた ちょっと遡っただけでも二つあるんだけど日本語読めない人ですか? 同じ主張していた人は前にも同様の事を書いていたと思う
- 338 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 17:56:00.21 ID:RSJvu3WH]
- 警告じゃなくてコンパイルエラーになるから、そこは間違えようがない
- 339 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 17:56:15.15 ID:nxvHWi8Q]
- うるさい奴だな
規制も解けたし久しぶりに荒らすか
- 340 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 17:57:23.64 ID:fEA3lkvv]
- ばかばっか
- 341 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 18:03:59.79 ID:FaOmhydn]
- 玉ねぎテスト
- 342 名前:デフォルトの名無しさん [2014/05/13(火) 19:04:44.91 ID:P6IZAQAm]
- >>337
型は何よりも重要だが型名として明示する必要は無いというだけ 型は論理的な制約としてコンパイラとIDEとプログラマを助けてる ソースを読むときには意味を追うことが重要であって 型名は意味を表さないからソースに現れる必要はない
- 343 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 19:10:30.00 ID:I3YIR7QR]
- それはシステム型ガリアンがわるいのであって
アプリケーション型ガリアンを使うのが正しい
- 344 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 20:48:39.72 ID:OtWszYiC]
- そもそも.netでハンガリーを使うのは不適切
- 345 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 21:18:49.26 ID:JYotVS6+]
- ハンガリーてw
- 346 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 21:41:54.30 ID:g7aGY/I9]
- 予約語varすら不要にはできないのかな
新しい識別子が突然出てきたらそこで型推論して変数定義するだけだと思うのだが
- 347 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 21:43:10.75 ID:/YCqdFMA]
- それなんてブビ6?
- 348 名前:デフォルトの名無しさん [2014/05/13(火) 21:45:37.20 ID:P6IZAQAm]
- 変数の定義なのか既存の変数への代入なのかは分からないとダメだろう
間違いの元だし
- 349 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 21:48:10.21 ID:g7aGY/I9]
- >>348
それくらいインテリセンスとシンタックスハイライトで何とでもできそうだけど
- 350 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 21:49:38.78 ID:2SjFSQn0]
- ローカル変数のスコープが絞れない無能言語
- 351 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 22:08:05.31 ID:RSJvu3WH]
- 不要にする意味がないじゃん
あとでその上とか、上位スコープに同じ名前の変数定義しても警告がでないとか、スクリプト言語かよ
- 352 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 22:58:51.07 ID:VAAeDIGc]
- 紙デバッグする人とIDE活用する人の違いでしょうか
- 353 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 23:05:11.66 ID:OtWszYiC]
- 紙でデバッグってどこでビルドするんですか?
- 354 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 23:06:36.97 ID:6lHeR6ab]
- >>352
IDE活用するのは良いんだがそれに依存しちゃってる人って他人とレビューってどうやってやるの?
- 355 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 23:07:35.77 ID:I3YIR7QR]
- 最低限の構文要素は残しておかないとソース解析や支援機能が劣化する
ていうか今のものですら不足
- 356 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 23:08:53.54 ID:2SjFSQn0]
- 型明示しないとコード読めない奴がレビュアーとか恥ずかしくないの
- 357 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 23:09:40.76 ID:OtWszYiC]
- レビューとか普通にソフトあるだろ
TFSならたしか標準だったはずだし
- 358 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 23:10:10.27 ID:Gi8jm/Jb]
- var程度で劣化するわけないでしょ
リアルタイムのエラー表示とかに比べたら全く完全に無視できる程度の処理
- 359 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 23:22:12.28 ID:2SjFSQn0]
- 型推論っていうけど実際には変数型の解決と変換チェックを省いてるわけだからむしろ高速化しそう
- 360 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 23:35:11.58 ID:ph3+WM+5]
- >>355
すみません、劣化の実例出してもらえます?
- 361 名前:デフォルトの名無しさん mailto:sage [2014/05/13(火) 23:42:10.85 ID:I3YIR7QR]
- すまん これからシアトル行きの飛行機に乗らないといけないんだ
- 362 名前:デフォルトの名無しさん mailto:sage [2014/05/14(水) 00:44:05.28 ID:eTwx7JM5]
- いまだにハンガリアンつかってるのはちょっとイケてないよね
- 363 名前:デフォルトの名無しさん mailto:sage [2014/05/14(水) 01:15:52.45 ID:9VDDjOUK]
- >>354
他人と一緒にIDE使えばいいんじゃね
- 364 名前:デフォルトの名無しさん mailto:sage [2014/05/14(水) 01:17:18.00 ID:OfRhuTl1]
- 今のトレンドは何リアンですか?
- 365 名前:デフォルトの名無しさん mailto:sage [2014/05/14(水) 02:34:49.11 ID:NgeMMujl]
- ジャンガリアン
- 366 名前:デフォルトの名無しさん mailto:sage [2014/05/14(水) 08:39:58.13 ID:s/uWWHxP]
- >>350
絞れるよ。ただ、外側と同じ名前をつけらんないだけ。
- 367 名前:デフォルトの名無しさん mailto:sage [2014/05/14(水) 14:25:27.66 ID:d8cAyoWU]
- 今どきイケてるとか言っちゃうナウでヤングなあなた
- 368 名前:デフォルトの名無しさん mailto:sage [2014/05/14(水) 20:16:37.22 ID:eTwx7JM5]
- 時代はキャメリアンよ
- 369 名前:デフォルトの名無しさん mailto:sage [2014/05/14(水) 20:49:19.94 ID:duQE1tkX]
- いやポリアンナでしょ
- 370 名前:デフォルトの名無しさん mailto:sage [2014/05/14(水) 21:01:07.09 ID:TjISzePW]
- >>366
論点理解した上で「絞る」って口語表現の解釈で争うのか? アスペかゴミかアスペのゴミだな
- 371 名前:デフォルトの名無しさん mailto:sage [2014/05/14(水) 21:03:19.94 ID:duQE1tkX]
- >>370
どう考えてもお前がアスペ
- 372 名前:デフォルトの名無しさん mailto:sage [2014/05/14(水) 22:57:26.14 ID:MatEjgRk]
- >>364
コリアンと言ってほしいんだろ?
- 373 名前:デフォルトの名無しさん [2014/05/14(水) 23:10:26.66 ID:hc7I7FLC]
- C# でフラッシュ上に描画されているボタンのクリックをする事は出来ますか?
例) YouTubeの 再生ボタン
- 374 名前:デフォルトの名無しさん mailto:sage [2014/05/14(水) 23:28:08.62 ID:OXjgNqNn]
- まっとうな方法はない
できないことはないけど非常に難しく、およそ初心者向きの課題ではない
- 375 名前:デフォルトの名無しさん mailto:sage [2014/05/14(水) 23:30:16.49 ID:CNlUMUNV]
- UWSCさんにお任せした方がお手軽
どうせお手軽に稼ぐ手段にしか興味ないんでしょ?
- 376 名前:デフォルトの名無しさん mailto:sage [2014/05/15(木) 02:37:17.33 ID:y4EzsQr3]
- 4.5.1時点では各種コレクションやカスタマイズならIEnumerable<T>やIEnumerator<T>があるからインデクサ実装するメリットがパッと思いつかないな
逆にどういう時にあえてクラスにインデクサ実装するの?
- 377 名前:デフォルトの名無しさん [2014/05/15(木) 05:43:37.91 ID:VFnGSa+C]
- >>376
たしか、ElementAtはIListを実装していないクラスの場合、 インデクサを使わず先頭から一つずつ数えるとか聞いた ともかくElementAtは効率的である保証がないから ランダムアクセスが早いクラスではインデクサを実装したほうがいい
- 378 名前:デフォルトの名無しさん mailto:sage [2014/05/15(木) 06:46:00.89 ID:vWmJlxXD]
- ディクショナリとか多次元コレクションとか
- 379 名前:デフォルトの名無しさん mailto:sage [2014/05/15(木) 06:50:35.28 ID:PJUn3sxK]
- 二次元幼女のコレクションか。納得。
- 380 名前:デフォルトの名無しさん [2014/05/15(木) 15:32:47.39 ID:hK9NRk/t]
- >>375
UWSC って何?
- 381 名前:デフォルトの名無しさん mailto:sage [2014/05/15(木) 15:49:09.11 ID:UhbfTRYa]
- >>380
ググったら一発で出てくるんだが
- 382 名前:デフォルトの名無しさん [2014/05/15(木) 15:57:34.47 ID:hK9NRk/t]
- じゃ、ぐぐって
- 383 名前:デフォルトの名無しさん mailto:sage [2014/05/15(木) 18:09:38.25 ID:6iCpTi+Y]
- ぐぐりました
- 384 名前:デフォルトの名無しさん [2014/05/15(木) 21:16:35.16 ID:VVboE5kT]
- おれもググった
- 385 名前:デフォルトの名無しさん mailto:sage [2014/05/15(木) 21:33:42.13 ID:t3vABwGH]
- ぐぐってきた、なるほどね
- 386 名前:デフォルトの名無しさん mailto:sage [2014/05/15(木) 21:34:05.58 ID:fEMnGPTM]
- ぐぐってあげたよ
- 387 名前:デフォルトの名無しさん mailto:sage [2014/05/15(木) 21:55:32.39 ID:/wvFfuuf]
- 百度でも可
- 388 名前:デフォルトの名無しさん mailto:sage [2014/05/15(木) 21:59:03.97 ID:vWmJlxXD]
- 優しい世界
- 389 名前:デフォルトの名無しさん mailto:sage [2014/05/16(金) 18:40:47.57 ID:VAV/Ywcf]
- Usage of NativeWindow.AssignHandle/ReleaseHandle when unmanaged code is involved.
blogs.msdn.com/b/anandgeorge/archive/2010/04/11/usage-of-nativewindow-assignhandle-releasehandle-when-unmanaged-code-is-involved.aspx NativeWindowまわりで不可解なクラッシュが発生するんだけど これ試してみようかな
- 390 名前:デフォルトの名無しさん [2014/05/17(土) 16:30:44.41 ID:QUUNT5cx]
- 福島ヤクザの恫喝のお蔭で美味しんぼが休載になってしまった・・・
そ ん な に 福 島 県 の 野 菜 が 安 全 ・安 心 と い う な ら ば 宮 内 庁 職 員 ・ 天 皇 家 に 全 て 無 料 で 提 供 し な さ い
- 391 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 16:40:04.62 ID:/wPndJU8]
- コピペマン参上!まで読んだ。
- 392 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 21:01:02.22 ID:Ii5h3iYQ]
- そんな事よりkeybd_eventで記号が送れないじゃないか。
入力対象がPostMessageは受け付けないしSendInputは動かないし困った。
- 393 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 21:10:07.58 ID:pDUyUp0N]
- UIAutomationは?
- 394 名前:デフォルトの名無しさん mailto:sage [2014/05/17(土) 22:17:04.68 ID:Ii5h3iYQ]
- >>393
聞いたこと無かった。試してみるわ。
- 395 名前:デフォルトの名無しさん [2014/05/18(日) 03:17:11.65 ID:fAlXIwAd]
- 以下のコードを書いているのですが #1 の部分でたまにブラウザが閉じない場合があります。
何が原因なのでしょうか? きっちりと閉じる時は閉じますが、たまに閉じない場合があるのです。 その為現在は、 iexplorerのプロセスをむりくり消すという方法を行っています。 SHDocVw.InternetExplorer ie; mshtml.IHTMLElementCollection mshtml_ec; do { url = "maxnko.com"; ie = new SHDocVw.InternetExplorer(); ie.Navigate(url, null, null, null, null); ie.Quit(); ← #1 }while(true);
- 396 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 04:22:37.98 ID:gCeF58LB]
- アウトオブプロセスのCOMサーバプロセスのサーバの寿命が気になるなら
・途中で手に入ったCOMオブジェクトすべてにMarshal.ReleaseComObject ・COMオブジェクト入れてた変数は全部参照を切ってGC.Collect×2 のどっちかが必要
- 397 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 06:27:29.62 ID:y6C+E1dN]
- WaitForPendingFinalizersとSleepも入れとけ
bbs.wankuma.com/index.cgi?mode=al2&namber=35188&KLOG=61
- 398 名前:デフォルトの名無しさん [2014/05/18(日) 11:55:53.57 ID:0kvX68pZ]
- maguro.2ch.net/test/read.cgi/pc2nanmin/1372918692/145
↑ ↑ ↑ ↑ ↑ ↑
- 399 名前:デフォルトの名無しさん [2014/05/18(日) 17:55:09.18 ID:KNbj8c8D]
- 超初歩で申し訳ないのですが
string[,] hoge = {{"a","b","c"},{"a","b","c"}}; のような多次元配列があるとして string[] test = hoge[0]; みたいに配列を取り出して渡すのはどうしたらいいですか?エラーがでます。
- 400 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 18:14:59.78 ID:5sxTIiRh]
- これで我慢しろ
string[][] hoge = { new[] { "a", "b", "c" }, new[] { "x", "y", "z" } }; string[] test = hoge[0];
- 401 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 18:44:56.99 ID:KNbj8c8D]
- ありがとうござます・・
色々な宣言方法があるんですね。
- 402 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 18:54:58.24 ID:VTr3IL1L]
- 多次元配列 string[,] と ジャグ配列(配列の配列) string[][] は別物なんよ
- 403 名前:デフォルトの名無しさん mailto:sage [2014/05/18(日) 20:55:49.12 ID:eK7aomfp]
- インデクサで実装
- 404 名前:デフォルトの名無しさん mailto:sage [2014/05/19(月) 01:44:57.19 ID:iSQonB5j]
- string[] test = new string[6];
test[0]=hoge[0,0];
- 405 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 22:50:10.77 ID:egyHbNr6]
- System.Collections.Specialized.OrderedDictionaryが使いづらいから
genericなOrderedDictionaryを自作しようと思ったら糞面倒臭くてワロタ。 みんなどうしてるんだ?
- 406 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 23:14:18.45 ID:z25AfSXU]
- 内部にList<T>とDictionary<TKey, TValue>を持つクラスを作った。
- 407 名前:デフォルトの名無しさん mailto:sage [2014/05/21(水) 03:32:42.40 ID:v/AOEN1J]
- OrderedDictionary ってなんのために使うの?
Dictionary の中身のソートならLINQですましているけど、、、
- 408 名前:デフォルトの名無しさん mailto:sage [2014/05/21(水) 12:09:03.26 ID:HVPC3tHt]
- 互換性のために残してるんだろ。
ジェネリック版がないのがその証拠。
- 409 名前:デフォルトの名無しさん mailto:sage [2014/05/21(水) 17:10:09.90 ID:mq1dIck6]
- >>396
>アウトオブプロセス あうと・おぶ・プロセス?
- 410 名前:デフォルトの名無しさん mailto:sage [2014/05/21(水) 19:03:42.30 ID:ejLigrZg]
- そうよ。別プロセスとして起動したCOMサーバのこと。
対になる言葉もちろんin-process server. 自プロセス内でアクティベートされたCOMサーバーオブジェクトよ
- 411 名前:デフォルトの名無しさん mailto:sage [2014/05/21(水) 19:25:24.07 ID:bWXCPWXI]
- WPFのDataGridで、どの列が画面内に表示されているかを知る方法をご存知の方いらっしゃいませんか。
広いDataGridの各セルに値を表示していて、一定間隔で表示を更新しているのだけど、 表示更新を行うのを画面内に表示されている範囲だけにしたくて、現在表示されている列を知りたいのです。 どの行が表示されるかは、DataGrid.LoadingRow/UnloadingRowイベントで簡単にわかるんだけど、 列に関してはこれに類似する便利なイベントなどが見つからなくて、悩んでいます。 ScrollChangedイベントが発生した時に各列の位置を計算して、 表示されている範囲内に収まっているかを確認するという方法を考えたんだけど、 「表示されている範囲」を取得する方法がわからず、実現できるかどうか・・・ 詳しい方、知恵を貸していただけませんでしょうか。
- 412 名前:デフォルトの名無しさん mailto:sage [2014/05/21(水) 19:35:47.40 ID:vOQNrfJU]
- VisualTreeHelperとかじゃねえの
もっと直接的な方法があるかもしれんが
- 413 名前:デフォルトの名無しさん mailto:sage [2014/05/21(水) 20:51:40.21 ID:eQl8Z8s/]
- >>411
普通にバインドしてりゃそれくらいは自動でやってくれてるぞ それでもDataGridの糞性能はどうしようもないから、 諦めてWindowsFormsHostでDataGridViewを使うのが吉
- 414 名前:デフォルトの名無しさん mailto:sage [2014/05/21(水) 22:08:50.68 ID:bWXCPWXI]
- >>412
VisualTreeHelperですか・・・ 使ったことないので、調べてみます。 >>413 ありがとうございます。 表示更新以外にも内部的にやりたいことがあって、表示されている列をなんとかして取得したいと考えています。 やっぱりWPFのDataGridは使えないのですね・・・DataGridViewの便利さが身にしみます。 今回すでにDataGridが用意されている中での改造をやろうとしていて、WindowsFormsHostを使うことができないので、 WPFの範囲でなんとかできる方法をもう少し試行錯誤したいと思います。
- 415 名前:デフォルトの名無しさん [2014/05/26(月) 11:41:59.18 ID:C5RAjArj]
- C#で
Process.Kill("explorer"); ↓ Process.Start("explorer"); を実行するとエクスプローラーが起動しますが 自動でこれを閉じる方法はありませんか? ※エクスプローラを一定周期で再起動させたいです。 PCを付けっぱなしだとexplorerの調子が悪くなってしまう場合がある為です。
- 416 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 11:50:26.53 ID:QBzBPwJ7]
- 閉じる?
- 417 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 11:51:08.04 ID:fNjo4Ias]
- var exp = Process.Start("explorer");
// 一定時間待つ exp.Kill();
- 418 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 11:55:08.95 ID:82lch4Bs]
- ウイルス系に感染してるんじゃない?
- 419 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 12:27:40.15 ID:dlApJPlM]
- 普通不安定になるならエクスプローラだけ再起動してもダメだろ
PC再起動しろよ
- 420 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 12:54:20.63 ID:DINwIwST]
- とゆうかエクスプローラはタスクバーでも使ってるから通知領域がおかしくなるぞ
418の言う通りウイルス疑うべき
- 421 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 12:57:00.00 ID:ptXAqcmg]
- OneDrive(SkyDrive) とか GoogleDrive 止めたら安定したことがある
- 422 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 13:12:12.75 ID:lvFZnHPn]
- ウィンドウを出してタスクバーに登録するあたりがおかしいんだよなw
- 423 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 13:24:37.36 ID:yHJImmyi]
- 丸投げ姿勢で常駐系に手を伸ばすなんてろくな事にならん
身の程知らずというものよ
- 424 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 13:34:07.02 ID:82lch4Bs]
- >>421
どっちも使ったことないから知らんが、その系統ならオーバーレイアイコンの問題じゃないかな
- 425 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 14:00:32.79 ID:yHJImmyi]
- そう言えば TortoiseSVN のアイコン処理がいろいろ悪さすることがあると最近知ったな
- 426 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 14:40:35.43 ID:2JzRM12h]
- TortoiseGit でもアイコンのせいで超重くなるな
- 427 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 14:43:51.58 ID:2JzRM12h]
- >>415 >>417
PC を長時間ログインしたままで使う人は explorer を時々再起動した方が良いのは賛成なんだが explorer をいくつも開いてると復元が面倒なんでついつい致命的に死ぬまでそのまま使う あと explorer の再起動はすべての explorer プロセスを列挙して全部殺して 最後の一つがタスクバーになるようにする必要があるのかな
- 428 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 15:32:52.83 ID:EGdbrytd]
- explorerってタスクマネージャーでプロセス消したら勝手に立ち上がってくるよな
あれはタスクマネージャー側で再起動してる?OS側?
- 429 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 16:02:51.07 ID:2JzRM12h]
- 完全に消滅させられるけど?
- 430 名前:デフォルトの名無しさん mailto:sage [2014/05/26(月) 16:10:27.65 ID:kDM+Ms7r]
- あいつは完全に消滅した
- 431 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 00:54:38.03 ID:RQKxbKNp]
- >>425
あれのせいで作業遅れたことあるわ インシデント登録のために再現しようとしたら再現しなくてなんだかんだ悩んで時間無駄にした
- 432 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 09:50:05.50 ID:ukhP0HT2]
- 完全に消滅させるとタスクバーもいなくなるので
コマンド起動ですぐたちあげちゃうよな
- 433 名前:デフォルトの名無しさん mailto:sage [2014/05/27(火) 10:54:06.71 ID:Oftvh7Y1]
- デスクトップにフォーカスがある状態でAlt+F4
↓ ダイアログが出たら Ctrl + Shift + Alt + Esc 同時押し ↓ (゚д゚)ウマー
- 434 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 03:17:16.11 ID:7s/YdHrO]
- >>428
unix でいうところのシェルと同等だからね
- 435 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 04:37:57.28 ID:hRiIfaso]
- シェルって勝手に再起動したっけ?
- 436 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 06:32:42.47 ID:r/cEnKci]
- ウィルスの仕業じゃ
- 437 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 08:21:07.64 ID:pSqJyVpX]
- Windows XP SP2以降、再起動してくれることが多くなった
- 438 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 10:34:03.90 ID:o+iely1Y]
- 落ちたら再起動するってオプションと
外から殺されたらそのまま死んでる って違いでしょ
- 439 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 10:41:47.46 ID:EmUl6u0+]
- そんな設定あったのか。OSでの挙動の違いかと思ってた
- 440 名前:デフォルトの名無しさん mailto:sage [2014/05/28(水) 12:13:44.09 ID:mw4ldslt]
- フォルダとデスクトップを別プロセスにする設定にしてて
タスクバーのプロセスが死んだときに フォルダのプロセスが残ってると タスクバーのプロセスは自動復活しない
- 441 名前:デフォルトの名無しさん mailto:sage [2014/05/31(土) 08:17:04.13 ID:IL91pjst]
- C# は、改行のエスケープシーケンス効くのか?
string text = "Hello \ world" ;
- 442 名前:デフォルトの名無しさん mailto:sage [2014/05/31(土) 08:29:51.35 ID:gddrhR3Z]
- >>441
ソース通り文字列に改行が入っていいなら@を使う。 文字列に改行を入れたくないなら複数行に分けて書くのは無理。必要なら+で繋ぐ。 その場合もちろん最適化は効くからパフォーマンスへの影響はない。
- 443 名前:デフォルトの名無しさん mailto:sage [2014/05/31(土) 15:54:04.89 ID:QHlXh24u]
- そんなのちょっとやってみりゃ分かるだろうに
- 444 名前:デフォルトの名無しさん mailto:sage [2014/05/31(土) 16:29:13.74 ID:PaG8/Dzb]
- 馬鹿はプログラミングに向かない典型だな
|

|