C#, C♯, C#相談室 Part95
■ このスレッドは過去ログ倉庫に格納されています
■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/
■コードを貼る場合はこちら
http://ideone.com/
■前スレ
C#, C♯, C#相談室 Part94
http://mevius.2ch.net/test/read.cgi/tech/1492843013/
■次スレは>>970が建てる事
建てられない場合は他を指定する事。 >>450
色々やった結果やっぱろプロジェクトが間違ってたいで無事できました。
ごめんなさいお手数おかけしました;; >>451
解決できたのならこっちもほっとしたよw
報告お疲れ様です public class MyClass<T> where T : MyClass<T>
{
・・・
}
こんなコードを見たのですが、意味を教えて下さい。 「ジェネリックのwhere」はともかく、
「作れないクラスの作り方」は気になるなw C#と.NET Frameworkの標準ライブラリだけでFAX処理ってできます? 外部ネットワークに繋がる環境で動かす前提とは限らないしなぁ FAXどころかプリンタすらC#使ってやるのは不安になるなあ
趣味レベルでちょっとしたツール作る分には楽でいいんだけど ソースコード読めば、C#ってこんなもんかって安心できるぞ >>465
何のソースコードを読むんだよ
WinAPIやCOM使ってできることならなんでもOKって知っていればどうでもいい >>466
何のソースってC#のライブラリのソースだよ
>WinAPIやCOM使ってできることならなんでもOKって知っていればどうでもいい
だったらなんで不安になるんだ? 芥川龍之介の念波、我が身に降臨せり
「何か僕の将来に対する唯ぼんやりとした不安である」 >>469
不安とか言ってないでさっさと邪宗門の続き書いて この板には羅生門に登場するような地獄の住人・魑魅魍魎が跋扈してるな LINQのWhereで
匿名関数に渡されるエンティティを他のメソッドに渡したりするとOneToManyを使う条件が動かない
これに気付かず小一時間無駄にした
エンティティの代わりにIQueryableを渡すことにした
こっちの方が書きやすいし条件を再利用出来る LINQというか
Entity Framework Coreのデータベースにクエリーする時のLINQ C#だと、C++同じように書いてもずっと遅くなることがある。
それにメモリを多く食う傾向も。GCはどのタイミングではいるか分からないから、
スクロールの途中で入った場合は、まるでPC-8801のBASICで書いたプログラム
のように素人っぽいアプリになる。C++が使える人が使うのは推奨しない。 C#はC++と違って速さではなく信頼性に重きを置いてるから仕方ないね
インスタンスはともかくアンマネージリソースは明示的に破棄するとか
ファイナライザ任せにしない等の言語に合わせた組み方をする他ない C++経験者でC#のパフォーマンスが落ちたり不安定になる人は、そもそもC++自体のスキルが低いと思う
関数ポインタとか仮想関数とかちゃんと使えないんじゃないかな >>478
unsafe突入コストはどうにもならん。そんなことも分からないのはC#を碌に使ってないから。 >>475
ちょっと工夫すれば避けられる場合も多いし、C++に戻りたくは無いなぁ。
どうにもならない場合はスピードが必要な部分だけC++にするけど。 >>479
unsafeはオーバーヘッド無いぞ
アンマネージコードとごっちゃになってるのかな?
C#を碌に使ってる人の言うことは違うね C#のunsafeは使い勝手が悪いから使わないな
デバイス制御とかでポインタが必要ならC++でDLL化して、C#側はDllImportするだけだし
C++をちゃんと分かっている人なら大抵参照渡しで済ませるから、ポインタ使う必要ないよね
あとはWindowsAPIのDLLをそのままC#側にImportする手もある
C++の関数コールバックもC#側のdelegateで問題なく使える unsafeは不当に忌避されすぎだと思う
IntPtrとかいう実質void*を駆使したコードなんて、unsafeよりよっぽど危険だわ
ちょうど479のように、unsafeコード=アンマネージコードという誤解も未だに根強いし >>481
意味すら分からないレベルか。馬鹿は黙ってたほうがいい。 >>483
unsafe突入コスト → unsafeコード=アンマネージコード
おまえもか。脳みそに蛆でも沸いてるかと思うレベルの理解力。ほんと馬鹿は黙ってたほうがいい。 頭おかしい御仁、こっちにも湧いてござるなw
無益だから相手にしない方がいいよ 「unsafe突入」がオレオレ定義で具体的にどこかを示さず逃亡するに一票 > unsafeはオーバーヘッド無いぞ
> unsafeコード=アンマネージコードという誤解
こんな馬鹿レスしたあとにくだらない煽りか。低スキルにもほどがあるな。>>486 必死にID変えて連投してるからいつもの知ったか馬鹿だな。
相手にした俺が馬鹿だったわ。 C++で内部のメモリ構造を考えていない人がC#を使うと
パフォーマンス落ちて不安定なコードになりやすい、っていう話なのに
なんでC#でunsafe使う前提になっているんだろう? >>490
内部のメモリ構造てw
お前c++使えんやろ何の勘違いしとるんやw >>478
自分はC++の仮想関数も関数ポインタも難なく使ってる。そして、C#は自分では使った
事が無い。でも、他人が作った.Net製のアプリを見て余りの遅さに.Netが普及しては
困ると思った。Vectorに登録されてるアマチュアのC/C++のプログラムでも見たことがない
ような遅さの.Netのプログラムをハードウェアメーカーが付属品として付けて来る。プロ
なのに。 そりゃ単に作った奴の所為じゃないか…プロなんて生業というだけで
プログラマーと呼べない連中など腐るほど居るし、門戸が広ければ蔓延るであろう
JITコンパイルとか境界チェックとかコードセキュリティとかオーバーヘッドは有るけどさ XNAでゲーム作ってキャラクター10万個くらい出してもほとんど処理落ちしなかったのに
まともにコード書いた普通のソフトでそうそう遅くなるとは思えん .Netは間に色々入るのでCPUキャッシュの効きが悪くなり、キャッシュの多いCPUでは
C++のNative Binaryの2.5倍程度の遅さで済んでもキャッシュの少ないCPUでは急激に
遅くなる可能性があるかも。キャッシュミスがあると、数千クロックのオーバーヘッドが
生じるので、C++の1000倍くらい遅くなる可能性がある。 ロクに使ったこともない人がドヤ顔で解説とかシビレル [間違い(または嘘つき)記事発見]
以下のリンク先の速度比較で、C# では言語Nativeな配列を使っているのに、
C++では、std::unique_ptr<> を使ってしまっている。そもそも、C/C++は、
高級アセンブラみたいなものだから、書き方を間違わない限りは、C#より遅くなる
はずがない。
「C#がC++より高速になった?」:
https://qiita.com/Chironian/items/e8c9f0147669f941936a
C#
static void setLargeArrayManaged1()
{
var aArray = new byte[kCountLai];
・・・
C++
void setLargeArray()
{
std::unique_ptr<byte[]> aArray(new byte[kCountLai]);
・・・
公平に比較したいなら、以下のようにすれば良いだけ。こっちの方がC#と
ソースレベルでも似ている。この著者は馬鹿としか言いようがない:
C++
void setLargeArray()
{
byte *aArray = new byte[kCountLai];
・・・
delete [] aArray; LINQは便利だけど落とし穴も多い
でも便利過ぎて手放せない Linqは裏側の動作までイメージ出来ないと簡単ゴミ作れちゃうのよねん LINQだけでググるとこれが出てきてしまう。
LinQ(リンク)は日本の福岡県福岡市を拠点に活動しているローカルアイドルグループ。
この項目では、女性アイドルのローカルグループ LinQについて説明しています。
統合言語クエリ LINQについては「統合言語クエリ」を、その他のLINQについては「リンク」をご覧ください。 C#が遅くないとか言ってる奴に限ってアセンブラ経験がない。C#信者はVB厨とJava厨と同じレベル。 設計思想が異なる対象まで遅いだの速いだの言語価値はそれだけかよ
ソースが同じなら処理も同じなんて考えるのが居たらdでもない事だ
C#やILのコンパイラに瑕疵があるのなら然るべき所へ報告すれば良い >>505
AWS Lambda使ったことないと誤解を生みそうな記事だなこれ
Lambdaのランタイムのオーバーヘッドを測ってるだけで、実質的なコードの実行時間はほとんど関係ないよこれ プログラムを書いていてちょっと迷ってると、VisualStudioがメソッド等について説明の吹き出しみたいなのを出してくれるけどさあ
あそこに出てくる説明の文章部分ってどうやって作るの? さすがにアセンブラ経験なしでここで相談に答える馬鹿はいないだろ。ILだってまともに読めないだろうし。 どうしたの?一昨日のことでまだ言いたいことあった?ガイジ >>509
メソッドの1つ手前の行でスラッシュ三回打ってワンと言え >>509
シフト押しながら7を三回押したらでてくるやつの話? >>509に対する回答が>>510と>>515以外全く意味が分からない
>>515が正解だと思うけど、どっちにしてもスレ違いだし 1レスに3個以上安価入れるのは行儀が悪いってママに叱られなかった? キチガイが安価多用するからキチガイっぼく見えるよというお話 タグが増えると容量が増えてgzip圧縮に対応してへんブラウザやとしんどいねん
VBコンポーネント使ってるやつとかな >>523の説明を聞いて納得。
>>520は頭と性格が悪そうだと思った。 規模が大きくなるとただでさえVS重くなるのにReSharper有効にしてると耐えられないレベルになる
VSCodeのC#サポートがもうちょっと賢くなれば移行したい >>526
2017で軽くなるかもと期待したが、うpデートする度に重くなっていくような。
Sharp >>527
大きなソリューションの読み込みはUpdateごとに確実に速くなってるけどね forループとEnumerable.Rangeでループするのどっちが速いの? 理屈的にはmovenextとget_Currentの呼び出しコスト分遅いんだっけか? >>530
この理由で頑なにfor使っている人居るけど、100万回でms単位の差で選ぶとか阿呆としか思えない 業務系c#開発でgitって使えるもん?
開発規模が社内だけなら面倒なだけな気がするんだけど、シェア考えると今からsvnは無い気もして GitHubなら賛否あるけど、Gitなら迷わず使えばよくね ギョーミーは50万年くらい遅れてそうでいいよな
まだ旧人類やってても優秀な方にランキングされるようだぜ 業務系は下請けに出さないとgitサーバーも立てられないからな
世界的に有名な大企業でもまじでそんな感じ いまの若い子はSVNの使い方知らないからやめといたほうがいいよ
Gitにしか出来ないと思い込んでるから何も努力しなくなってるしな
Git一択だわ 若い人は○○系の話って大抵若い人がそれを必要とする時点で絶滅しかかってるんだから知らなくて当たり前なんだよね
だからむしろ知ってた時に驚くのが普通なのになぜか知らないことに驚くというのが意味不明 中小業務系とか素人スタートが数年居ればベテラン扱い
gitどころかバージョン管理?なにそれおいしいの?状態 ソルーションZIP固め
正直、個人プレーならこれが一番わかりやすくて安心 >>533
ゆとり馬鹿はほんと数学ができないんだな。 >>548
>、100万回でms単位の差で選ぶとか阿呆としか思えない
おまえも仕事したことない無職なんだろうけど、リアルな話、
こんな馬鹿が一人でも混じってたら糞コードを大量コミットしてデスマーチになってしまう。
年金システムにはこういう馬鹿が大量にいたんだよな。 ■ このスレッドは過去ログ倉庫に格納されています