!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part144
https://mevius.5ch.net/test/read.cgi/tech/1563258983/
■関連スレ
C#, C♯, C#相談室 Part95
https://mevius.5ch.net/test/read.cgi/tech/1508168482/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
http://referencesource.microsoft.com/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
ふらっと C#,C♯,C#(初心者用) Part145
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 1e7b-qjLW)
2019/10/07(月) 20:16:17.93ID:9eyAES450584デフォルトの名無しさん (ドコグロ MMcf-lZUE)
2019/11/11(月) 06:43:42.02ID:Ndyau4keM >>581
そりゃ欲しいのは最大値や最小値なのに複数の要素が返ってきても面倒なだけだし
そりゃ欲しいのは最大値や最小値なのに複数の要素が返ってきても面倒なだけだし
585デフォルトの名無しさん (ワッチョイ 2b54-BjYd)
2019/11/11(月) 08:24:51.18ID:k+N9opvZ0586デフォルトの名無しさん (ドコグロ MMcf-lZUE)
2019/11/11(月) 09:41:13.10ID:Ndyau4keM587デフォルトの名無しさん (ワッチョイ 9f2c-E8Ce)
2019/11/11(月) 12:40:24.59ID:bjD92kdR0 generics, trait だろ。
has-a, interface, duck typing など、継承じゃなくて包含
Ruby では、<=> 宇宙船演算子があれば比較できる。Comparable
has-a, interface, duck typing など、継承じゃなくて包含
Ruby では、<=> 宇宙船演算子があれば比較できる。Comparable
588デフォルトの名無しさん (アウアウウー Sacf-FD+t)
2019/11/11(月) 12:41:25.30ID:W7OxtIUea589デフォルトの名無しさん (ワッチョイ 2b54-BjYd)
2019/11/11(月) 12:47:13.66ID:k+N9opvZ0 >>588
上位互換の方がいいっていうのはわかる。でもそれは LINQ to Object だけを考えた場合ね。
LINQ は LINQ to Entities という OR マッパーも強く意識しているから、標準 SQL 互換の機能も大事であり、どちらか一つという選択を強いるなら現状になる。
上位互換の方がいいっていうのはわかる。でもそれは LINQ to Object だけを考えた場合ね。
LINQ は LINQ to Entities という OR マッパーも強く意識しているから、標準 SQL 互換の機能も大事であり、どちらか一つという選択を強いるなら現状になる。
590デフォルトの名無しさん (スップ Sdbf-4TTv)
2019/11/11(月) 12:47:47.01ID:pQGjPoV1d 別に難しいもんじゃないんだし作りゃいいんだよ
どういうのがベストかが状況によってたやすく変化する処理だと思う
値が欲しいのか要素が欲しいのか、一つで良いのか全部列挙するのか
だから標準としては1回走査で済んでsum等の算術系と同じような入出力になる現仕様を選んだんじゃない?
どういうのがベストかが状況によってたやすく変化する処理だと思う
値が欲しいのか要素が欲しいのか、一つで良いのか全部列挙するのか
だから標準としては1回走査で済んでsum等の算術系と同じような入出力になる現仕様を選んだんじゃない?
591デフォルトの名無しさん (ワッチョイ df2d-tdZI)
2019/11/11(月) 18:08:06.42ID:FT34EqpP0 なんかよくわからないけど、SQLとの互換性ならTが返ってきた方が遥かにSQLに近いでしょ
592デフォルトの名無しさん (スププ Sdbf-piWr)
2019/11/11(月) 18:48:51.85ID:/nYlZGiNd ??SQLで集計関数使ったら元のレコードはわからんめえ
593デフォルトの名無しさん (ワッチョイ 2b54-BjYd)
2019/11/11(月) 18:53:21.43ID:k+N9opvZ0594デフォルトの名無しさん (ブーイモ MM7f-hbis)
2019/11/11(月) 18:57:02.20ID:Xp4ki1TGM Tを返すと戻り値がIEnumerable<T>になる
流石にそれをMax関数と呼ぶのは抵抗がある
流石にそれをMax関数と呼ぶのは抵抗がある
595デフォルトの名無しさん (オッペケ Sr0f-EJQs)
2019/11/11(月) 19:00:34.90ID:oQXr0vGEr まず最大値を取る
その値を持つ要素の集合をselectする
確かに無駄だな
SQLはどこかで最適化してるのかな?
その値を持つ要素の集合をselectする
確かに無駄だな
SQLはどこかで最適化してるのかな?
596デフォルトの名無しさん (オッペケ Sr0f-EJQs)
2019/11/11(月) 19:02:33.34ID:oQXr0vGEr MAXはMAXだけどそういう用途の関数?があってもいいかもね
というかすでにあるんだろうか?
というかすでにあるんだろうか?
597デフォルトの名無しさん (ワッチョイ cb88-4TTv)
2019/11/11(月) 19:42:55.85ID:rlOgmRK80 >>596
標準ではない
使ったこと無いけど583が紹介してるものか自作するか
自作しても数行だしググればコードは転がってるよ
個人的にはこういうやつは上げだすとキリがないんで現状で十分かなと思ってる
標準で山ほど用意されても何があって何を自作しなきゃならんかがわからなくなるんで本当に基本的なものだけあればいいかなと思う
標準ではない
使ったこと無いけど583が紹介してるものか自作するか
自作しても数行だしググればコードは転がってるよ
個人的にはこういうやつは上げだすとキリがないんで現状で十分かなと思ってる
標準で山ほど用意されても何があって何を自作しなきゃならんかがわからなくなるんで本当に基本的なものだけあればいいかなと思う
598デフォルトの名無しさん (オッペケ Sr0f-EJQs)
2019/11/11(月) 19:55:30.29ID:oQXr0vGEr LINQじゃなかったら作るのは簡単
599デフォルトの名無しさん (ワッチョイ df2d-tdZI)
2019/11/11(月) 20:48:49.06ID:FT34EqpP0 SQLで書けるものはだいたい書けるようなってないと使いづらいよやっぱ
600デフォルトの名無しさん (ワッチョイ fbda-4fxd)
2019/11/11(月) 20:52:24.25ID:S9KO9pzP0 SQLだとストアドあるけど、LINQで書けるの?
インラインビューとかも
インラインビューとかも
601デフォルトの名無しさん (ワッチョイ df2d-tdZI)
2019/11/11(月) 20:54:23.36ID:FT34EqpP0 それは流石にLinqのせいじゃなく、例の変な人が言ってるフレームワーク等で吸収する部分じゃないか?
602デフォルトの名無しさん (ワッチョイ 9f01-vL98)
2019/11/11(月) 21:13:49.74ID:U14XuieM0 >>595
SQLの場合はインデックスがあるから一般的にO(log n)で最大値のキーが取得できる
LINQ標準でMaxByと同じことをやる場合はちょっと効率悪いけどOrderBy使う
O(n)にするためだけにAggregate使った拡張メソッド作るよりも
走査する件数を減らすことを考えたほうがよかったりする
SQLの場合はインデックスがあるから一般的にO(log n)で最大値のキーが取得できる
LINQ標準でMaxByと同じことをやる場合はちょっと効率悪いけどOrderBy使う
O(n)にするためだけにAggregate使った拡張メソッド作るよりも
走査する件数を減らすことを考えたほうがよかったりする
603デフォルトの名無しさん (ブーイモ MM7f-pFIx)
2019/11/11(月) 21:39:19.76ID:ouAhYYgiM LinqとSqlは根本的に別物なので使い分けろ
当たり前のことだな
当たり前のことだな
604デフォルトの名無しさん (ドコグロ MMcf-lZUE)
2019/11/11(月) 21:40:04.42ID:Ndyau4keM >>600
DDLもLINQで書けるようにしろとか言いそうな勢いだなw
DDLもLINQで書けるようにしろとか言いそうな勢いだなw
605デフォルトの名無しさん (ワッチョイ fbda-4fxd)
2019/11/11(月) 21:46:03.84ID:S9KO9pzP0 出来ればやってくる欲しいけどw
606デフォルトの名無しさん (ワッチョイ 2b54-BjYd)
2019/11/11(月) 21:51:17.93ID:k+N9opvZ0 >>602
LINQ to Object vs LINQ to Entities でインデックスの有無は大きいよね。テーブルごとに特性とサイズを考えて、AsEnumerable でやるか AsQueryable でやるか機能配置の決め手になることがある。
OrderBy 使っていいなら、こんな感じかな?
public static IEnumerable<T> MaxBy<T>(this IEnumerable<T> src, Func<T, IComparable> selector) =>
src.GroupBy( selector ).OrderByDescending( x => x.Key ).Take(1).SelectMany( x => x );
>>600, 601
ストアドは DB の機能だから、フレームワークでは実現できないよ。
フレームワーク側でエミュレートできたとしても DB との間で通信が頻繁に発生することになるから、性能が出ないと思われる。
DB のストアドを呼ぶことはできるはず。
LINQ to Object vs LINQ to Entities でインデックスの有無は大きいよね。テーブルごとに特性とサイズを考えて、AsEnumerable でやるか AsQueryable でやるか機能配置の決め手になることがある。
OrderBy 使っていいなら、こんな感じかな?
public static IEnumerable<T> MaxBy<T>(this IEnumerable<T> src, Func<T, IComparable> selector) =>
src.GroupBy( selector ).OrderByDescending( x => x.Key ).Take(1).SelectMany( x => x );
>>600, 601
ストアドは DB の機能だから、フレームワークでは実現できないよ。
フレームワーク側でエミュレートできたとしても DB との間で通信が頻繁に発生することになるから、性能が出ないと思われる。
DB のストアドを呼ぶことはできるはず。
607デフォルトの名無しさん (アウアウイー Sa0f-acGn)
2019/11/11(月) 21:59:36.96ID:jrmXg5Iea >>604,605
つEFのCodeFirst
つEFのCodeFirst
608デフォルトの名無しさん (ドコグロ MMcf-lZUE)
2019/11/11(月) 22:10:23.25ID:Ndyau4keM >>607
LINQじゃねーしw
LINQじゃねーしw
609デフォルトの名無しさん (ワッチョイ 2b54-BjYd)
2019/11/11(月) 22:38:21.34ID:k+N9opvZ0610デフォルトの名無しさん (ワッチョイ bb5f-vPHs)
2019/11/11(月) 22:50:03.30ID:bl21NUGN0 >>609
初めからLINQの話してて、何がベストかなんて話してない
初めからLINQの話してて、何がベストかなんて話してない
611デフォルトの名無しさん (ブーイモ MM4f-rQqJ)
2019/11/11(月) 23:03:24.65ID:FJX73dNWM LINQって便利なんだけど今一歩物足りないよな
何が足りないのかと言われても難しいが
何が足りないのかと言われても難しいが
612デフォルトの名無しさん (スフッ Sdbf-y5kd)
2019/11/11(月) 23:09:21.20ID:c2Z6IyQ8d 十分もの足りるよ
613デフォルトの名無しさん (JP 0Hcf-ApVS)
2019/11/12(火) 01:07:27.57ID:uL6vLpX0H 前処理はストアドで定義してアプリはストアド叩くのが定石やろ
614デフォルトの名無しさん (ワッチョイ 9f2f-E8Ce)
2019/11/12(火) 02:21:22.46ID:AYqcftQb0 LANが10Mだったころの定石だな
615デフォルトの名無しさん (JP 0Hcf-ApVS)
2019/11/12(火) 03:26:22.31ID:uL6vLpX0H 今は前処理クライアントでやるもんなん?
616デフォルトの名無しさん (ワッチョイ 2b54-BjYd)
2019/11/12(火) 06:42:14.04ID:8jIzWHEF0 >>610
LINQ にこだわるなら、こだわるだけの理由が必要。
スレに貢献している人を茶化すなら、茶化すだけの知識なり、思想なり、技術的裏付けが必要。
>>611,612
どちらの意見もわかる。
LINQ to Object に閉じるなら十分。足りない部分はライブラリ自作すればいいし、そのパズルが楽しかったりする。
でも、LINQ to Entities に踏み込むと足りないことだらけ。本質的ではないところで相当な工夫が必要だし、工夫しすぎると汎用性がなくなって使い物にならなくなる。
LINQ to Object で組み始めたロジックを LINQ to Entities 互換に拡張することを考えている時間が結局ムダになることも多い。
両者、似ているようでギャップがかなり大きいところに物足りなさを感じる。
LINQ にこだわるなら、こだわるだけの理由が必要。
スレに貢献している人を茶化すなら、茶化すだけの知識なり、思想なり、技術的裏付けが必要。
>>611,612
どちらの意見もわかる。
LINQ to Object に閉じるなら十分。足りない部分はライブラリ自作すればいいし、そのパズルが楽しかったりする。
でも、LINQ to Entities に踏み込むと足りないことだらけ。本質的ではないところで相当な工夫が必要だし、工夫しすぎると汎用性がなくなって使い物にならなくなる。
LINQ to Object で組み始めたロジックを LINQ to Entities 互換に拡張することを考えている時間が結局ムダになることも多い。
両者、似ているようでギャップがかなり大きいところに物足りなさを感じる。
617デフォルトの名無しさん (アウアウエー Sa3f-I5cZ)
2019/11/12(火) 06:51:40.24ID:9Bw+vwp6a 最初から全くの別物なのに似ているというだけで変な期待をかけて勝手に裏切られた気持ちになる人が少なからず居る
別物と割り切って名前もインターフェースも変えれば初学者が迷わずに済んだだろうな
別物と割り切って名前もインターフェースも変えれば初学者が迷わずに済んだだろうな
618デフォルトの名無しさん (ワッチョイ 2b54-BjYd)
2019/11/12(火) 07:47:36.42ID:8jIzWHEF0 >>617
そうだね。裏切られたとは思わないけど、当初の期待はかなり高かった。
でも、LINQ to Entities の情報が少なすぎて別物だって理解するまでに相当な時間がかかってしまう。
誰も頼れる人がいない中、ネット情報のみの独学でみっちり3週間かかったよ、まともに使えるようになるまでに。
そうだね。裏切られたとは思わないけど、当初の期待はかなり高かった。
でも、LINQ to Entities の情報が少なすぎて別物だって理解するまでに相当な時間がかかってしまう。
誰も頼れる人がいない中、ネット情報のみの独学でみっちり3週間かかったよ、まともに使えるようになるまでに。
619デフォルトの名無しさん (スップ Sdbf-SCE2)
2019/11/12(火) 07:51:50.22ID:87WSr1Vsd EntityFrameworkなのかEntityFramework Coreなのかはっきりさせとけよ…
620デフォルトの名無しさん (ブーイモ MMbf-BjYd)
2019/11/12(火) 08:11:27.68ID:SXTlA5+FM621デフォルトの名無しさん (ブーイモ MMbf-BjYd)
2019/11/12(火) 08:13:15.74ID:SXTlA5+FM あ、ID 変わっちゃった。
618=620
618=620
622デフォルトの名無しさん (スップ Sdbf-SCE2)
2019/11/12(火) 10:46:47.47ID:87WSr1Vsd >>620
一次リソース見なよ
一次リソース見なよ
623デフォルトの名無しさん (ブーイモ MMbf-BjYd)
2019/11/12(火) 10:52:36.27ID:wo/moEjDM >>622
当然見てるよ。原文で。
当然見てるよ。原文で。
624デフォルトの名無しさん (ラクッペ MM0f-6c3l)
2019/11/12(火) 11:56:05.18ID:uH6v+/CZM まともに使えないものがまともに使えるようになったと言ってる時点でまともな人間でないのは明白
625デフォルトの名無しさん (スップ Sdbf-SCE2)
2019/11/12(火) 12:00:35.23ID:87WSr1Vsd >>623
なら混乱しないはず
なら混乱しないはず
626デフォルトの名無しさん (ブーイモ MMbf-BjYd)
2019/11/12(火) 12:08:55.50ID:wo/moEjDM >>624
君は読解力ないのかな?
局面によっては使えるかもしれないけど、業務ロジックを完結させるには役者不足、LINQ to Entities はまだまだ発展途上だね、今後に期待、と一貫して言っているのだが。
一次ソースも二次ソースも充実してないのは発展途上でこれからもまだまだ移りゆくものだからだとも思ってる。それがわかるのにけっこうコストがかかったよ、そのあたりが個人的に物足りなさを感じるところかな。
君は読解力ないのかな?
局面によっては使えるかもしれないけど、業務ロジックを完結させるには役者不足、LINQ to Entities はまだまだ発展途上だね、今後に期待、と一貫して言っているのだが。
一次ソースも二次ソースも充実してないのは発展途上でこれからもまだまだ移りゆくものだからだとも思ってる。それがわかるのにけっこうコストがかかったよ、そのあたりが個人的に物足りなさを感じるところかな。
627デフォルトの名無しさん (ブーイモ MM7f-I5cZ)
2019/11/12(火) 12:15:05.01ID:yJMEc/1iM あぁなるほど
データアクセスに業務ロジックをバリバリ書いてしまうタイプの人か
データアクセスに業務ロジックをバリバリ書いてしまうタイプの人か
628デフォルトの名無しさん (ブーイモ MMbf-BjYd)
2019/11/12(火) 12:31:28.37ID:wo/moEjDM >>625
一次ソースはバージョンに関しては混乱しない。それは二次ソースの話。一次ソースが混乱させるのは、LINQ to Object から Entities へ移行するにあたって、重要かつ基礎的なコンセプトをまともに解説していないこと。
たとえば、IEnumerable の派生である IQueryable はアップキャストするだけで AsEnumerable で評価されてしまうとか、引数となるラムダ式が全く同じ記法なのに IEnumerable では Func で IQueryable では Expression だとか。
これらは分かってしまえば当たり前だし、うまく設計したものだなと感心するけれど、初学者にはトラップでしかない。
君はこれら暗黙の前提を一次ソースで知ったのか?
だとしたらどこにガイドがあるか教えてほしい。
一次ソースに当たれというのは一般的なお約束だけれども、LINQ to Entities に関しては、コンセプトや実装の難しさに比して一次ソースがかなり脆弱で不親切だと思うよ。
617 の言うとおり Object と Entities でインターフェースを変えて設計するか、あるいは、移行に十分な情報を一次ソースが用意するか、どちらかだと思う。そのどちらでもないことがアンチを生んでいる原因ではないかと。
一次ソースはバージョンに関しては混乱しない。それは二次ソースの話。一次ソースが混乱させるのは、LINQ to Object から Entities へ移行するにあたって、重要かつ基礎的なコンセプトをまともに解説していないこと。
たとえば、IEnumerable の派生である IQueryable はアップキャストするだけで AsEnumerable で評価されてしまうとか、引数となるラムダ式が全く同じ記法なのに IEnumerable では Func で IQueryable では Expression だとか。
これらは分かってしまえば当たり前だし、うまく設計したものだなと感心するけれど、初学者にはトラップでしかない。
君はこれら暗黙の前提を一次ソースで知ったのか?
だとしたらどこにガイドがあるか教えてほしい。
一次ソースに当たれというのは一般的なお約束だけれども、LINQ to Entities に関しては、コンセプトや実装の難しさに比して一次ソースがかなり脆弱で不親切だと思うよ。
617 の言うとおり Object と Entities でインターフェースを変えて設計するか、あるいは、移行に十分な情報を一次ソースが用意するか、どちらかだと思う。そのどちらでもないことがアンチを生んでいる原因ではないかと。
629デフォルトの名無しさん (ブーイモ MMbf-BjYd)
2019/11/12(火) 12:34:30.29ID:wo/moEjDM630デフォルトの名無しさん (ラクッペ MM0f-6c3l)
2019/11/12(火) 12:56:06.79ID:3Ic/AzmcM 真っ赤なガイジ一歩手前
631デフォルトの名無しさん (スップ Sdbf-SCE2)
2019/11/12(火) 13:00:05.39ID:87WSr1Vsd ごめんガイジに触っちゃっま
632デフォルトの名無しさん (ブーイモ MMbf-BjYd)
2019/11/12(火) 13:53:14.21ID:wo/moEjDM >>630,631
業務ユーザが LINQ to Entities に手を突っ込むの、ガイジだよなぁ、わかるぞ。
だがね、人のやらないことを先鞭をつけてやらねばならない場合もあるのだよ。
ひととおり技術評価した結果、本格的に導入するのは時期尚早という判断で別の技術つかうことにした。.NET 5 以降に期待してる。
業務ユーザが LINQ to Entities に手を突っ込むの、ガイジだよなぁ、わかるぞ。
だがね、人のやらないことを先鞭をつけてやらねばならない場合もあるのだよ。
ひととおり技術評価した結果、本格的に導入するのは時期尚早という判断で別の技術つかうことにした。.NET 5 以降に期待してる。
633デフォルトの名無しさん (ワッチョイ 8bda-SIb9)
2019/11/12(火) 17:44:24.07ID:EGn19C9N0 え、業務アプリで普通にLINQ to Entities使ってるけどなんかマズい問題でもあるの?
単純に手軽で使いやすいと思ったから使ってるんだけど・・・・
単純に手軽で使いやすいと思ったから使ってるんだけど・・・・
634デフォルトの名無しさん (スップ Sdbf-SCE2)
2019/11/12(火) 17:50:33.05ID:87WSr1Vsd >>633
問題ない。Dapper開発元のStackOverflowでさえEntityFramework Coreを併用してる。
問題ない。Dapper開発元のStackOverflowでさえEntityFramework Coreを併用してる。
635デフォルトの名無しさん (ワッチョイ 9fda-rO36)
2019/11/12(火) 18:29:22.62ID:rHSf0Tqi0 LINQのmaxやminで最大最小が求められるけど
最大、最小の値を持つオブジェクトを取得する方法はないのかな?
最大、最小の値を持つオブジェクトを取得する方法はないのかな?
636デフォルトの名無しさん (ワッチョイ bb17-DaD1)
2019/11/12(火) 18:44:22.60ID:jPYsymli0 MaxBy、MinByでググれ
637デフォルトの名無しさん (ワッチョイ cb88-4TTv)
2019/11/12(火) 18:46:28.43ID:dUZdRav20 散々上で話題に出てたやんw
638デフォルトの名無しさん (ブーイモ MM7f-I5cZ)
2019/11/12(火) 19:49:03.77ID:nctNxVOgM639デフォルトの名無しさん (オッペケ Sr0f-NaRu)
2019/11/12(火) 20:14:31.68ID:CeIzlsxBr >>628
それらを区別することがはたしてLINQの目指すべき理想なのかね
それらを区別することがはたしてLINQの目指すべき理想なのかね
640デフォルトの名無しさん (ブーイモ MMbf-BjYd)
2019/11/12(火) 21:23:28.30ID:wo/moEjDM >>639
それらってどれのことだろう?
LINQ to Object と Entities のことかな?
両者の設計はよく考えられたシームレスで美しいデザインだと個人的には思うよ、違いをしっかり理解できた後ならね。違いが分かりにくいというのは言語設計の問題ではなく、MS Docs などガイドの問題だと思う。
何が理想的な設計かは人によって感じ方が違うのではないかな。
あ、EF4, 5, 6, Core と進化する間に名前空間や正規関数などがコロコロ変わっているあたりは、場当たり的で汚いと思う。何か制約があって実装をやり直した、その苦労の跡が垣間見える。Core から後方互換を捨てて綺麗に作り直そう感があるから、.NET 5 に期待している。
それらってどれのことだろう?
LINQ to Object と Entities のことかな?
両者の設計はよく考えられたシームレスで美しいデザインだと個人的には思うよ、違いをしっかり理解できた後ならね。違いが分かりにくいというのは言語設計の問題ではなく、MS Docs などガイドの問題だと思う。
何が理想的な設計かは人によって感じ方が違うのではないかな。
あ、EF4, 5, 6, Core と進化する間に名前空間や正規関数などがコロコロ変わっているあたりは、場当たり的で汚いと思う。何か制約があって実装をやり直した、その苦労の跡が垣間見える。Core から後方互換を捨てて綺麗に作り直そう感があるから、.NET 5 に期待している。
641デフォルトの名無しさん (アウアウイー Sa0f-acGn)
2019/11/12(火) 21:44:06.09ID:WF3NQ/iBa ごめんちょっと話が横に反れちゃうけど、このスレ見たり書き込んだりしてる人って
MicrosoftDocsって日本語/英語どっちを見てるの?
当たり前のように原文ですらすらと読んで理解してるものなの?
MSDNが廃止されてDocsになったはいいけど特にAPIリファレンスとか日本語訳の品質が酷すぎて辛い
自分は英語ほとんど読めないんで、Chromeで日本語版、FireFoxで英語版+Google翻訳をそれぞれ表示して
3タブ切り替えながら読み進めてくなんて効率の悪いことをやってるんだけど、みんなはどうしてるのか気になった
MSの一次ソースに当たるのも↑の理由でしんどいんだよね・・・
もう潤沢な日本語訳が提供されるような時代じゃなくなったんで英語のできないPGは退場せざるをえないのか
MicrosoftDocsって日本語/英語どっちを見てるの?
当たり前のように原文ですらすらと読んで理解してるものなの?
MSDNが廃止されてDocsになったはいいけど特にAPIリファレンスとか日本語訳の品質が酷すぎて辛い
自分は英語ほとんど読めないんで、Chromeで日本語版、FireFoxで英語版+Google翻訳をそれぞれ表示して
3タブ切り替えながら読み進めてくなんて効率の悪いことをやってるんだけど、みんなはどうしてるのか気になった
MSの一次ソースに当たるのも↑の理由でしんどいんだよね・・・
もう潤沢な日本語訳が提供されるような時代じゃなくなったんで英語のできないPGは退場せざるをえないのか
642デフォルトの名無しさん (ワッチョイ 9f2c-3bRk)
2019/11/12(火) 21:45:38.20ID:036g9eq50 docsは辞書的に使うことがほとんどだしそれぐらいなら英語で十分
643デフォルトの名無しさん (ワッチョイ 9fad-SCE2)
2019/11/12(火) 21:46:46.04ID:ntZbVRJo0 >>641
もちろん英語
もちろん英語
644デフォルトの名無しさん (ブーイモ MMbf-BjYd)
2019/11/12(火) 22:25:29.03ID:wo/moEjDM >>641
調べる目的によるかな。
引数の順番とかオーバーロードとかうろ覚えの確認程度なら、検索して最初に出てきた方。
初出のロジックを書くためにコンセプトや基礎設計からじっくり考えつつ API を調査するなら、まず日本語でざっくり理解、重要なポイントが和訳で怪しいなら英語で精緻化。
LINQ なんかは集合論や数学に近く、これらは概念が同じなら分野跨いで英単語が同一だったりして英語の方が理解が早いから英語のみ、とか。
LINQ to Entities の場合、一次二次併せてそもそもの情報量が少ないから、英語日本語関係なくとにかく漁る。(そして英語の Q&A でほのめかされているヒントに辿り着き、一次ソース原文を当たったりする。)
調べる目的によるかな。
引数の順番とかオーバーロードとかうろ覚えの確認程度なら、検索して最初に出てきた方。
初出のロジックを書くためにコンセプトや基礎設計からじっくり考えつつ API を調査するなら、まず日本語でざっくり理解、重要なポイントが和訳で怪しいなら英語で精緻化。
LINQ なんかは集合論や数学に近く、これらは概念が同じなら分野跨いで英単語が同一だったりして英語の方が理解が早いから英語のみ、とか。
LINQ to Entities の場合、一次二次併せてそもそもの情報量が少ないから、英語日本語関係なくとにかく漁る。(そして英語の Q&A でほのめかされているヒントに辿り着き、一次ソース原文を当たったりする。)
645デフォルトの名無しさん (ワッチョイ 2b63-4TTv)
2019/11/12(火) 23:03:23.32ID:Mubuqyvi0 俺も英語は苦手だけどdocsは基本英語
どういうメソッドあったっけ?で見ることが多いから多少の単語がわかればほぼ理解できる
動作が知りたいときでよくわからん英語の言い回しがあったときは日本語にして読んでみる
けど、そういうときは日本語にしても大抵理解できない
デフォを英語にするようにしとけばプログラムで頻出する英単語が徐々に覚えられるようになるから英語をオススメする
どういうメソッドあったっけ?で見ることが多いから多少の単語がわかればほぼ理解できる
動作が知りたいときでよくわからん英語の言い回しがあったときは日本語にして読んでみる
けど、そういうときは日本語にしても大抵理解できない
デフォを英語にするようにしとけばプログラムで頻出する英単語が徐々に覚えられるようになるから英語をオススメする
646デフォルトの名無しさん (ワッチョイ bb5f-vPHs)
2019/11/12(火) 23:37:52.61ID:fxjtpr6a0647デフォルトの名無しさん (アウアウイー Sa0f-acGn)
2019/11/12(火) 23:53:04.67ID:WF3NQ/iBa ありがと、自分もdocs英語派に転向するよう頑張ってみる
比較的翻訳が整ってる基礎説明みたいなページでもいちいち
「角度」⇒「Angular.js」、「反応」⇒「React.js」みたいな脳内逆翻訳をかますよりは
苦手でも最初っから英語版を読み解くほうがやっぱりマシなんだよな・・・
自分はFirefoxのアドオンで
・Simple Translate (右クリックでGoogle翻訳結果をポップアップ表示)
・MouseDictionary (マウスを乗せた英単語の日本語意味をリアルタイム表示)
を入れてる
みらい翻訳はいちいち英文をCopy&Pasteするのが面倒で常用断念
比較的翻訳が整ってる基礎説明みたいなページでもいちいち
「角度」⇒「Angular.js」、「反応」⇒「React.js」みたいな脳内逆翻訳をかますよりは
苦手でも最初っから英語版を読み解くほうがやっぱりマシなんだよな・・・
自分はFirefoxのアドオンで
・Simple Translate (右クリックでGoogle翻訳結果をポップアップ表示)
・MouseDictionary (マウスを乗せた英単語の日本語意味をリアルタイム表示)
を入れてる
みらい翻訳はいちいち英文をCopy&Pasteするのが面倒で常用断念
648デフォルトの名無しさん (ワッチョイ 8b6e-msxt)
2019/11/13(水) 00:34:44.18ID:IXCpTxe30 とりあえず日本語でぱっと見て意味が取れるならそれで良し
んん?ってなったときに原文に当たる
これが一番効率良いと思うよ
んん?ってなったときに原文に当たる
これが一番効率良いと思うよ
649デフォルトの名無しさん (ワッチョイ 8bda-SIb9)
2019/11/13(水) 00:57:11.68ID:TUiuF95y0 >>648
意味が取れたと思って試してみたら挙動がおかしくて、原文見たら真反対の意味でショック受けた記憶がある。
意味が取れたと思って試してみたら挙動がおかしくて、原文見たら真反対の意味でショック受けた記憶がある。
650デフォルトの名無しさん (ワッチョイ 2b22-y5kd)
2019/11/13(水) 01:05:25.68ID:mCeTjzNg0 アホやなあ
651デフォルトの名無しさん (アウアウウー Sacf-keNo)
2019/11/13(水) 01:08:43.01ID:aZU5BEQSa まあジャパニーズITドカタの世界じゃ専門卒の英語アレルギーな連中に扱えないようなものが普及することは決してないから、
業界から脱出するつもりがないんなら英語はハナから捨てたほうが賢明だよ
だって業務では永遠に使えないんだから
業界から脱出するつもりがないんなら英語はハナから捨てたほうが賢明だよ
だって業務では永遠に使えないんだから
652デフォルトの名無しさん (ワッチョイ 9f79-DaD1)
2019/11/13(水) 01:13:25.17ID:puINEo4M0 どこの底辺業界の業務だよ
653デフォルトの名無しさん (ワッチョイ 8bda-SIb9)
2019/11/13(水) 01:22:20.09ID:TUiuF95y0 いや英語棄てるとか絶対無理。
日本語訳がアテにならないのが分かってから原文しか読んでない。
日本語訳がアテにならないのが分かってから原文しか読んでない。
654デフォルトの名無しさん (ワッチョイ 4bda-zfwn)
2019/11/13(水) 02:18:49.03ID:KALwwQwQ0 自分は英語が苦手
でもMSの自動翻訳はイマイチなのでgoogle翻訳の自動翻訳を使う
それでもよく分からない時はgoogle 翻訳のサイトにコピペして翻訳する
でもMSの自動翻訳はイマイチなのでgoogle翻訳の自動翻訳を使う
それでもよく分からない時はgoogle 翻訳のサイトにコピペして翻訳する
655デフォルトの名無しさん (ワッチョイ bb5f-vPHs)
2019/11/13(水) 02:34:13.53ID:0of/5iuj0656デフォルトの名無しさん (ワッチョイ 9f01-vL98)
2019/11/13(水) 03:12:16.84ID:LQUpdw6j0 翻訳ソフトを多用するから英語読む力が身につかないんやで
まともな辞書を使って単語帳をつけて定期的に復習するのが大事
翻訳ソフトは最後の手段
マウスオーバーで引ける辞書も便利だけど
便利すぎて辞書ナシで文やパラグラフを読む努力をしなくなると英語力は向上しない
まともな辞書を使って単語帳をつけて定期的に復習するのが大事
翻訳ソフトは最後の手段
マウスオーバーで引ける辞書も便利だけど
便利すぎて辞書ナシで文やパラグラフを読む努力をしなくなると英語力は向上しない
657デフォルトの名無しさん (アークセー Sx0f-zNuL)
2019/11/13(水) 11:53:32.61ID:iszJrltix 英語力向上が目的じゃないから。
あくまで目的は正しい情報を入手すること。
もう数年後にはかなりの精度の自動翻訳ができるようになってると予想する。
あくまで目的は正しい情報を入手すること。
もう数年後にはかなりの精度の自動翻訳ができるようになってると予想する。
658デフォルトの名無しさん (ワッチョイ cb88-4TTv)
2019/11/13(水) 12:16:37.65ID:3gCJP2hx0 翻訳精度の向上ってもう10年以上言われ続けてるよねw
こないだgoogleだかどっかが文脈を考慮した翻訳どうのこうのってリリース出してたけどどこまで伸びるかねぇ
こないだgoogleだかどっかが文脈を考慮した翻訳どうのこうのってリリース出してたけどどこまで伸びるかねぇ
659デフォルトの名無しさん (スフッ Sdbf-y5kd)
2019/11/13(水) 12:22:25.68ID:950onq0Dd >>656
目的をはき違えてる
目的をはき違えてる
660デフォルトの名無しさん (ワッチョイ 0fa7-DaD1)
2019/11/13(水) 13:18:54.28ID:/n7NHPZ80 既に英語-日本語は十分な翻訳精度になってない?
MSDNのようなオフィシャルな場はもうほぼ完璧だし、そこら辺の外人フォーラムなんかでも一応意は汲める
中学英語程度の基礎があれば読みに関してはもう不自由しない
MSDNのようなオフィシャルな場はもうほぼ完璧だし、そこら辺の外人フォーラムなんかでも一応意は汲める
中学英語程度の基礎があれば読みに関してはもう不自由しない
661デフォルトの名無しさん (ワッチョイ 9f01-vL98)
2019/11/13(水) 13:36:03.37ID:LQUpdw6j0662デフォルトの名無しさん (ワッチョイ cb88-4TTv)
2019/11/13(水) 14:39:59.45ID:3gCJP2hx0 現状で完璧なんて口が裂けても言えないと思うけど…
msdnみたいな同じ言い回しが頻出するようなところは個別の対応もしやすいし、そもそも単調な事実だけを述べるだけの文章なんで誤訳は少ない
そんな環境でも真逆の意味に訳されてしまっているケースすら存在する
こないだdoとdo notが逆に翻訳されててちょっと燃えたよね
補助として使う分には十分なレベルではあると思うが翻訳能力自体はまだまだ伸びて欲しいと思うよ
msdnみたいな同じ言い回しが頻出するようなところは個別の対応もしやすいし、そもそも単調な事実だけを述べるだけの文章なんで誤訳は少ない
そんな環境でも真逆の意味に訳されてしまっているケースすら存在する
こないだdoとdo notが逆に翻訳されててちょっと燃えたよね
補助として使う分には十分なレベルではあると思うが翻訳能力自体はまだまだ伸びて欲しいと思うよ
663デフォルトの名無しさん (スププ Sdbf-y5kd)
2019/11/13(水) 14:49:33.50ID:+YlxL5WQd664デフォルトの名無しさん (ドコグロ MM3f-keNo)
2019/11/13(水) 14:52:44.04ID:zYuYteZMM まともな大学出てるエンジニアなら英語さえ話せれば外資に転職して軽く一千万以上貰える
必死こいてEFCoreとか覚えるより本気で英語を勉強した方が遥かに効率的だぞ
必死こいてEFCoreとか覚えるより本気で英語を勉強した方が遥かに効率的だぞ
665デフォルトの名無しさん (オッペケ Sr0f-EJQs)
2019/11/13(水) 17:03:16.58ID:NmgYsJT9r 時々機械翻訳が真逆の時あったけどどこをどう解釈したのか痕跡も判らない
666デフォルトの名無しさん (ワッチョイ 2b63-DaD1)
2019/11/13(水) 18:13:13.40ID:EdyIqayv0 質問です
ジェネリッククラスにおいて型Tがクラスのときとstructのときで全く挙動を変えたいのですが、
同名の2つのジェネリッククラスに異なる型制約をつけることは可能でしょうか
ジェネリッククラスにおいて型Tがクラスのときとstructのときで全く挙動を変えたいのですが、
同名の2つのジェネリッククラスに異なる型制約をつけることは可能でしょうか
667デフォルトの名無しさん (ワッチョイ 9fda-rO36)
2019/11/13(水) 18:27:16.02ID:00WyA5ks0 できないんじゃないかな
別のクラス名にして
インターフェースを被せてやるんじゃダメなの?
別のクラス名にして
インターフェースを被せてやるんじゃダメなの?
668デフォルトの名無しさん (ワッチョイ 2b63-4TTv)
2019/11/13(水) 18:54:26.13ID:cq8qXzOO0 ん?where T classでの制約の話じゃないの?
669デフォルトの名無しさん (ワッチョイ 2b63-DaD1)
2019/11/13(水) 18:54:57.26ID:EdyIqayv0 >>667
ありがとうございます 試してみます
ありがとうございます 試してみます
670デフォルトの名無しさん (スップ Sdbf-SCE2)
2019/11/13(水) 18:55:58.02ID:cEsy4BDid >>664
EFCore使うのに必死になる必要なんてない
EFCore使うのに必死になる必要なんてない
671デフォルトの名無しさん (ワッチョイ 2b63-DaD1)
2019/11/13(水) 18:57:22.33ID:EdyIqayv0672デフォルトの名無しさん (ワッチョイ fb3c-AXNO)
2019/11/13(水) 20:12:00.42ID:L3Ppb+A30 こんばんは
質問させてください
LINQのGroupByでデータテーブルの複数のカラムを指定しvar変数に格納後、
格納したデータをCopyToDataTableメソッドでデータテーブルに変換しようとしても、
CopyToメソッドしか候補に表示されないのですがVisual Studioのバグですか?
質問させてください
LINQのGroupByでデータテーブルの複数のカラムを指定しvar変数に格納後、
格納したデータをCopyToDataTableメソッドでデータテーブルに変換しようとしても、
CopyToメソッドしか候補に表示されないのですがVisual Studioのバグですか?
673デフォルトの名無しさん (ワッチョイ 5b2f-DaD1)
2019/11/13(水) 20:36:20.89ID:FrzbMubD0 フォームアプリ作っていてデバッグ中です。
フォームのクラスから呼び出したクラスにブレークポイントを設定しているのですが、
止まってくれません。
フォームのクラス上に設定したブレークポイントでは止まってくれます。
これって仕様なのでしょうか?
フォームのクラスから呼び出したクラスにブレークポイントを設定しているのですが、
止まってくれません。
フォームのクラス上に設定したブレークポイントでは止まってくれます。
これって仕様なのでしょうか?
674デフォルトの名無しさん (ワッチョイ 5b2f-DaD1)
2019/11/13(水) 20:54:49.74ID:FrzbMubD0 なんかプロジェクト内でブレークポイントで止まるクラスと止まらないクラスがある。
前はどこに設定しても止まっていたのに・・・。
一体何が原因なんでしょうか?
前はどこに設定しても止まっていたのに・・・。
一体何が原因なんでしょうか?
675デフォルトの名無しさん (ワッチョイ 9f79-DaD1)
2019/11/13(水) 20:55:42.59ID:P4Wenl6E0 ブレークポイントを通ってないから止まらないだけだろう
676デフォルトの名無しさん (ワッチョイ 5b2f-DaD1)
2019/11/13(水) 20:58:47.78ID:FrzbMubD0677デフォルトの名無しさん (ワッチョイ 2b63-4TTv)
2019/11/13(水) 22:19:14.93ID:cq8qXzOO0678デフォルトの名無しさん (ワッチョイ 9f01-vL98)
2019/11/13(水) 22:20:10.28ID:LQUpdw6j0 >>672
変数の型を確認すべし
変数の型を確認すべし
679デフォルトの名無しさん (ワッチョイ 9f01-vL98)
2019/11/13(水) 22:20:40.60ID:LQUpdw6j0 やべ、超かぶった
680デフォルトの名無しさん (ワッチョイ 8b01-hbis)
2019/11/13(水) 22:24:28.57ID:yG9mqOTd0 >>672
IGroupingはキーを列挙するものだよ?
キーは通常DataRowじゃないからそりゃ出ないよ
グループごとにChildrenをDataTableにしたいのか、Childrenをキー順に並んだ1つのDataTableにしたいのかによって書き方は変わる
IGroupingはキーを列挙するものだよ?
キーは通常DataRowじゃないからそりゃ出ないよ
グループごとにChildrenをDataTableにしたいのか、Childrenをキー順に並んだ1つのDataTableにしたいのかによって書き方は変わる
681デフォルトの名無しさん (ワッチョイ 9f01-vL98)
2019/11/13(水) 22:25:44.66ID:LQUpdw6j0 >>663
マスターww
辞書使う前にとにかく翻訳ソフト使うやつは
リファレンス見ずにQiita見てコピペしようとするやつと同じ思考回路なんだよね
いつまでもスキルが身につかない原因を自分が作り出してることに気が付かないとすぐに淘汰されるよ
マスターww
辞書使う前にとにかく翻訳ソフト使うやつは
リファレンス見ずにQiita見てコピペしようとするやつと同じ思考回路なんだよね
いつまでもスキルが身につかない原因を自分が作り出してることに気が付かないとすぐに淘汰されるよ
682デフォルトの名無しさん (ワッチョイ fb3c-AXNO)
2019/11/13(水) 22:33:54.95ID:L3Ppb+A30683デフォルトの名無しさん (ワッチョイ 2b63-4TTv)
2019/11/13(水) 22:43:58.27ID:cq8qXzOO0 前にも居たけどなんですぐにVSのバグを疑うんだろうね?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【速報】気象庁は津波注意報すべて解除 [蚤の市★]
- 【実況】博衣こよりのえちえち朝こよ🧪
- (´・ω・`)おはよ
- さかまた「過呼吸になった」かなた「耳聞こえない」ござる「声出ない」まつり「ご飯食べれない」
- 【画像】カリカリ女、脱いだらすごい😨 [632966346]
- くそしてかがやけ
- 🪬本日のコンマ占い🧿
