C#, C♯, C#相談室 Part46

このエントリーをはてなブックマークに追加
952デフォルトの名無しさん:2008/06/18(水) 22:23:01
J#でもつかってろよ
953デフォルトの名無しさん:2008/06/18(水) 22:26:15
おお、まさにJ#でこの話終わりだなww
954デフォルトの名無しさん:2008/06/18(水) 22:26:25
コンテキストキーワードよりもはるかに気持ち悪いのは,
インターフェイスとか抜きで特定の名前(引数)のメソッドの呼び出しに変換される機能
foreach→GetEnumerator()とかコレクション初期化子→Add(引数任意)とかクエリ式とか
955デフォルトの名無しさん:2008/06/18(水) 22:28:08
C#コンテキストキーワードって
get set partial where yield value と後はC#3.0で導入されたクエリキーワードぐらいだよな。

>忘れちゃうキーワード
explicit implicit stackalloc unchecked volatile あたりは時々忘れそうになる。
956デフォルトの名無しさん:2008/06/18(水) 22:30:41
add/removeとかも<コンテキストキーワード
957デフォルトの名無しさん:2008/06/18(水) 22:30:57
そろそろ次スレ立てたほうがいい?970くらいでいい?
958デフォルトの名無しさん:2008/06/18(水) 22:32:24
>>954
java5にも同じのあるじゃないか
Iterable/Iteratorでfor ( : ) をお忘れではないか
959デフォルトの名無しさん:2008/06/18(水) 22:35:22
>>958
C#のはダックタイピング的なのでちょっと違う。
多分>>954はその事を知ってて書いてる。
960デフォルトの名無しさん:2008/06/18(水) 22:52:38
Whereという名前のメソッドがあればクエリ式のwhere使えるんだよね
961デフォルトの名無しさん:2008/06/18(水) 22:53:33
>>955
ええ!それは忘れないだろ。
それ、使わないならC#言語じゃなくてもいいでない?
ん・・・このスレのレベルは、理解に苦しむ・・
962デフォルトの名無しさん:2008/06/18(水) 22:57:03
>>959
了解、インターフェイスがなくてもメソッドの名前が一致してればOKという話か。
usingはなぜかIDisposable.Dispose()でないと受け付けない。
これもメソッドの名前だけで使わせて欲しいよ。
963デフォルトの名無しさん:2008/06/18(水) 22:57:17
>>956
リファレンスのキーワードの項に、
>>955のとクエリキーワードは載ってるけど、add/removeが載ってない
中の人にも忘れられてる?
964デフォルトの名無しさん:2008/06/18(水) 23:03:23
add/removeはデリゲートだけでデリゲートでも普通使わないからやっぱり忘れられていると思う。
965デフォルトの名無しさん:2008/06/18(水) 23:03:48
C#というのは、Javaと比べるとポインタ演算unsafeとstackallocが売りだと思うんだけど…
966デフォルトの名無しさん:2008/06/18(水) 23:07:13
いやなウリだな
967デフォルトの名無しさん:2008/06/18(水) 23:08:34
>>964
WinFormでもWPFでもコントロールのイベントはカスタムしてるのがほとんどだぜ
968デフォルトの名無しさん:2008/06/18(水) 23:11:15
便利なものはどんどん積極的に組み込んでアピールしていこうっていうのがコンセプトでしょ
969デフォルトの名無しさん:2008/06/18(水) 23:13:49
ヘジたんはむしろ抑え役っぽい
970デフォルトの名無しさん:2008/06/18(水) 23:17:46
抑え役だし押さえ気味だよなぁ。
というかあいつら基本的に自分たちでだいぶ使ってから出すから
まぁそんなもんかという気はする。
971デフォルトの名無しさん:2008/06/18(水) 23:32:38
VBと違ってクエリ演算子のサポートが消極的すぎ
中途半端に付けるくらいならクエリ式なんて無くてよかった
メソッド形式だけだとどうしてもインパクトに欠けるからなあ
972デフォルトの名無しさん:2008/06/18(水) 23:32:42
javaがいったいいくつ独自キーワードを取り入れたか
973デフォルトの名無しさん:2008/06/18(水) 23:35:19
今のC#のウリは関数型とラムダ式だろ
JavaやC++とくらべて進んでるところは
974デフォルトの名無しさん:2008/06/18(水) 23:38:10
次はついに動的型くるかも
975デフォルトの名無しさん:2008/06/18(水) 23:42:53
動的型というか、動的っぽい記述が一時的につかるようになる dynamic ブロックになりそうかな。
976デフォルトの名無しさん:2008/06/18(水) 23:45:46
GetEnumeratorは仕方ない。
ジェネリックがなかったころだから。
977デフォルトの名無しさん:2008/06/18(水) 23:48:39
Mix-in 入れてくれんかな
978デフォルトの名無しさん:2008/06/18(水) 23:49:20
相変わらずC#はキモイな
どこがどうキモイかを気がついてないようだけどw
979デフォルトの名無しさん:2008/06/18(水) 23:54:12
>相変わらずC#はキモイな
何言ってる?
現在進行形でキモクなってんだよっ
980デフォルトの名無しさん:2008/06/19(木) 00:01:56
まあJavaBeansのプロパティルールよかまし
981デフォルトの名無しさん:2008/06/19(木) 00:07:15
自分でもどこがキモイか指摘できないから、
釣り糸をたらして誰かがボロを出すのを待ってるんですね。
わかります。
982デフォルトの名無しさん:2008/06/19(木) 00:11:34
動的型はいいよ
VBでやってくれ
983デフォルトの名無しさん:2008/06/19(木) 00:48:53
C#の魅力は静的型付けの言語でここまでやるかってところ
984デフォルトの名無しさん:2008/06/19(木) 09:17:54
Expression Treeなんかすでに動的言語の領域だけどね
985デフォルトの名無しさん:2008/06/19(木) 10:36:58
Linq for SQLは明らかに別物ですから。
Linq for SQLはORMであることを前面に出してアピールしたほうが健全だと思える。
これをごちゃ混ぜにしてLinqと呼んでるからユーザーが混乱する。
986デフォルトの名無しさん:2008/06/19(木) 10:40:39
混乱して分からなくなるようなやつは使わなければいい
987デフォルトの名無しさん:2008/06/19(木) 13:27:12
Linq to SQL はフェードアウトするかもしれんけどな。その話とは関係ない話ではあるが。
988デフォルトの名無しさん:2008/06/19(木) 21:35:51
SQLクエリとin-memoryオブジェクトクエリが同じ記法で書けるってのが1つの売りだからなぁ。

デリゲートとExpessionTreeが同じ文法で書けるのが実に素敵。
989デフォルトの名無しさん:2008/06/19(木) 23:22:50
ADO.NET2.0でデータの更新時に同時実行違反になったときどうしてる?
エラーダイアログ出して、ユーザーが編集していた更新内容を
まるっと破棄してしまうと、なんか文句言われそうなんですが・・・
990デフォルトの名無しさん:2008/06/20(金) 09:37:29
Expression Treeじゃなくてメソッド全部ツリーにしてくれればいいのに
あと匿名型を普通に引数とか戻り値に使えるようにしてくれ
991デフォルトの名無しさん:2008/06/21(土) 02:06:08
ExpressionTree面白いんだが、自分であれいじくろうと思うとちょっとうんざりしそう。
もうちょっとシンタックスシュガーが( ゚д゚)ホスィ…
992デフォルトの名無しさん:2008/06/21(土) 03:05:49
俺はMSDNにあるExpressionVisitor使っていろいろ作ってる
合成関数とか、任意の引数のバインディングとか

expr1.ComposeWith(expr2)
expr1.BindSecond(3)

てな感じで使ってる
993デフォルトの名無しさん:2008/06/21(土) 10:15:58
正直、何につかったらいいかわかんねExpressionTree
994デフォルトの名無しさん:2008/06/21(土) 10:57:29
識別子の名前が取ってこれるのが重要なんじゃない?>ExpressionTree
それ以外は生の処理でもできそうだけど
995デフォルトの名無しさん:2008/06/21(土) 12:08:20
まあ、Expression Treeを使うのは主にライブラリ作成側の人だろ。
たいていのプログラマは間接的な恩恵しかない。
996デフォルトの名無しさん:2008/06/21(土) 12:46:31
動的メソッド+ILの替わりに、デリゲート+Expression Treeが使えるのは大きい
997デフォルトの名無しさん:2008/06/21(土) 17:15:23
ソースとプロジェクトファイルを人に渡したいのですが
最低限必要なのはどのファイル(※)でしょうか?

※ Windowsフォームアプリケーションで新規作成した場合に
  作成されたファイルを下記のリストにしてみました(第二階層まで)

test.sln
test.suo
2008/06/21 17:07 <DIR> bin
2008/06/21 17:07 <DIR> obj
2008/06/21 17:07 <DIR> Properties
2008/06/21 17:04 374 Form1.cs
2008/06/21 17:04 1,338 Form1.Designer.cs
2008/06/21 17:04 546 Program.cs
2008/06/21 17:07 3,622 test.csproj
2008/06/21 17:07 74 test.csproj.user
998デフォルトの名無しさん:2008/06/21(土) 17:22:01
>>997
2008/06/21 17:07 <DIR> bin 
2008/06/21 17:07 <DIR> obj 
は全部消していい。
あとはtest.csproj.userくらいか
999デフォルトの名無しさん:2008/06/21(土) 17:35:18
>>998
削除&プロジェクトファイルを開く、で削除可否を確認しました。
下記リストの状態でプロジェクトが開くのを確認。
教えて頂いたファイルからさらにtest.suoを削除しています。
ありがとうございます。

消さなかったファイル・フォルダ
test.sln
2008/06/21 17:07 <DIR> Properties
2008/06/21 17:04 374 Form1.cs
2008/06/21 17:04 1,338 Form1.Designer.cs
2008/06/21 17:04 546 Program.cs
2008/06/21 17:07 3,622 test.csproj

消したファイル・フォルダ
test.suo
2008/06/21 17:07 74 test.csproj.user
2008/06/21 17:07 <DIR> bin
2008/06/21 17:07 <DIR> obj
1000デフォルトの名無しさん:2008/06/21(土) 17:52:53
次スレ [プログラム板] C#, C♯, C#相談室 Part47
http://pc11.2ch.net/test/read.cgi/tech/1214038282/
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。