X



C#, C♯, C#相談室 Part95
■ このスレッドは過去ログ倉庫に格納されています
0415デフォルトの名無しさん
垢版 |
2018/02/14(水) 01:33:09.58ID:S7evEIWT
C#のコード規約って何かデファクトスタンダードなものありますか?
開発者がDelphiなこともあって一般的でない自負があるのか
自分流に統一できてれば問題がないという感じで緩いのはわかるのですが
0417デフォルトの名無しさん
垢版 |
2018/02/14(水) 06:56:03.38ID:gDDPraVt
業務系ではほぼオワコンなので今更コード規約を厳しくしても将来性はないだろう。
0418デフォルトの名無しさん
垢版 |
2018/02/14(水) 07:15:08.04ID:UFv5UzG3
どこがオワコンなんだよw
0420デフォルトの名無しさん
垢版 |
2018/02/14(水) 19:26:47.67ID:nuSxC/3c
codePlex終了はC#終焉への序曲なのか?MSはいつも中途半端で投げ出すからな
0421デフォルトの名無しさん
垢版 |
2018/02/14(水) 19:47:09.70ID:T5cdiKE6
CodePlexがサービスを終了し、GitHubへの移行が推奨される
https://www.infoq.com/jp/news/2017/04/codeplex-github
>Microsoftは、CodePlexプロジェクトから知名度の高いgitホストへのインポートを効率的に進めるためにGitHubと協力してきた。
>移行手順がプロジェクトのソースコード、ライセンス、およびドキュメントをGitHubに移動する際のガイドラインと共に準備された。
>移行ツールは、イシューの移動をサポートするよう拡張される予定である
>>420
MS自身が移行を積極的にやっていてCodePlexでできた資産まで捨てるわけじゃない

C#がオワコンだろうが趣味でしか使っていないから使い続けるだけ
仕事でやっているけど他はできないって人間が万が一いたらそのままシネ
0428デフォルトの名無しさん
垢版 |
2018/02/15(木) 18:44:37.89ID:ePyF0aqH
MSがPWAってのに手を出すことになったことで、将来的に需要が縮小する可能性は高くなったな
特にASPは直接的な競合となるから厳しい
0430デフォルトの名無しさん
垢版 |
2018/02/16(金) 08:34:37.83ID:CNSe2opu
unityはc#一択
スマホのマルチプラットフォーム開発もザマリンでc#一択
じゃなかったんか
0434デフォルトの名無しさん
垢版 |
2018/02/16(金) 12:47:11.47ID:eIPn6egw
そういう気色の悪いことを平気で掛ける自分を気色悪いと思わなくなったら
もう立派なストーカー予備軍。

どうせキモータなんだろうけど、執着するのはアイドルか2次元にしとけよほんと。
きもっ
0437デフォルトの名無しさん
垢版 |
2018/02/17(土) 07:47:44.42ID:uYVlOSlz
C#がだめとして
そしたら次はなにやったらいいの?
JavaScriptとかしょぼいのやらなあかんの?
0439デフォルトの名無しさん
垢版 |
2018/02/17(土) 09:11:00.41ID:JhxlZtl8
ダメとしての意味が分からないけど、
他にもいろんな言語があるから好きなのを使えばいいよ

TypeScript
Python
Go
このあたりがいいんじゃないか

さらにやる気があれば
c++
0440デフォルトの名無しさん
垢版 |
2018/02/17(土) 11:33:56.32ID:uYVlOSlz
元Pythonistaやで
C++よりはRustがええなあ
でもTypeScript含めてJavaScript系は好きになれんなあ
0441デフォルトの名無しさん
垢版 |
2018/02/17(土) 12:57:15.63ID:x5wAmZVS
ふらっとスレもそうだけど「C#を使う人の雑談スレ」だと思っている人多いな
こんな過疎っているところでなくマ板に行けばいいのに
0442デフォルトの名無しさん
垢版 |
2018/02/18(日) 14:16:27.97ID:SXTB1pky
初心者ですが質問させてください。

VisualStudio2017でDLLの作成をしようと思っています。
DLLプロジェクトのなかでSystem.ConsoleやSystem.IO.Pathクラスを使用したいのですができません。
「現在のコンテキストに 'Path' という名前は存在しません。」というエラーです。

コンソールアプリのプロジェクトなら問題なく使用できます。
どうすればDLLのプロジェクトでも使用できるようになりますか?
0445デフォルトの名無しさん
垢版 |
2018/02/18(日) 18:13:44.57ID:SXTB1pky
>>444
Console等はmscorlib.dllだと思うんですが参照の追加をすると「既に自動的に参照されています」と出ます・・・。

>>443
了解しました!
0446デフォルトの名無しさん
垢版 |
2018/02/18(日) 19:11:32.24ID:uudF1O4B
>>442
プロジェクト間違っているだろ
クラスライブラリ(.Net Framework)を選べ
プロジェクト選択画面の右側に(.dll)を作成するための〜って表示されるはずだから
それでもできないのなら必要なものをインストールしていないか何か余計なことをしている
0447446
垢版 |
2018/02/18(日) 19:30:14.33ID:uudF1O4B
ヒマだったんで簡単なサンプル
クラスライブラリ
https://ideone.com/Sho1IP
それを利用するコンソールアプリ
上で作ったdllを参照に加えてビルドすること
https://ideone.com/PSzA8t
実行ファイルにドロップされた"*.txt"ファイルをシフトJISとして読込みコンソールに表示するだけ
どっちもVS2017のデフォルトの設定で作られている
0449デフォルトの名無しさん
垢版 |
2018/02/18(日) 19:38:05.86ID:SXTB1pky
>>446
クラスライブラリのプロジェクトは全部試しましたができませんでしたね・・・。

「ユニバーサル Windows プラットフォーム開発」というのをインストールしていなかったのでそれを試してみます!
返信していただいてありがとうございます!初心者用のスレは荒れていて質問できる空気ではなかったので・・・
0450デフォルトの名無しさん
垢版 |
2018/02/18(日) 19:43:58.15ID:uudF1O4B
>>449
それUWPアプリで違うから。できるかもしれないけどインストールしていないんでわからないw
取りあえず書いたとおりにやってくれよw
0451デフォルトの名無しさん
垢版 |
2018/02/18(日) 21:16:05.35ID:SXTB1pky
>>450
色々やった結果やっぱろプロジェクトが間違ってたいで無事できました。
ごめんなさいお手数おかけしました;;
0453デフォルトの名無しさん
垢版 |
2018/02/24(土) 04:11:27.27ID:pGxepaPb
public class MyClass<T> where T : MyClass<T>
{
 ・・・
}
こんなコードを見たのですが、意味を教えて下さい。
0455デフォルトの名無しさん
垢版 |
2018/02/24(土) 11:09:30.78ID:l2ZGUZ4P
「ジェネリックのwhere」はともかく、
「作れないクラスの作り方」は気になるなw
0456デフォルトの名無しさん
垢版 |
2018/02/24(土) 11:36:53.68ID:pGxepaPb
>>454
俺です
0464デフォルトの名無しさん
垢版 |
2018/03/01(木) 18:12:32.03ID:InHAxY2J
FAXどころかプリンタすらC#使ってやるのは不安になるなあ
趣味レベルでちょっとしたツール作る分には楽でいいんだけど
0466デフォルトの名無しさん
垢版 |
2018/03/01(木) 18:44:52.54ID:InHAxY2J
>>465
何のソースコードを読むんだよ
WinAPIやCOM使ってできることならなんでもOKって知っていればどうでもいい
0468デフォルトの名無しさん
垢版 |
2018/03/01(木) 21:48:54.49ID:U+1QZYaU
>>466
何のソースってC#のライブラリのソースだよ

>WinAPIやCOM使ってできることならなんでもOKって知っていればどうでもいい
だったらなんで不安になるんだ?
0469デフォルトの名無しさん
垢版 |
2018/03/01(木) 23:24:48.75ID:3FYR9rwV
芥川龍之介の念波、我が身に降臨せり
「何か僕の将来に対する唯ぼんやりとした不安である」
0473デフォルトの名無しさん
垢版 |
2018/03/11(日) 17:31:40.59ID:YfOd2t8w
LINQのWhereで
匿名関数に渡されるエンティティを他のメソッドに渡したりするとOneToManyを使う条件が動かない
これに気付かず小一時間無駄にした

エンティティの代わりにIQueryableを渡すことにした
こっちの方が書きやすいし条件を再利用出来る
0475デフォルトの名無しさん
垢版 |
2018/03/11(日) 20:22:34.72ID:H7ZYGUBL
C#だと、C++同じように書いてもずっと遅くなることがある。
それにメモリを多く食う傾向も。GCはどのタイミングではいるか分からないから、
スクロールの途中で入った場合は、まるでPC-8801のBASICで書いたプログラム
のように素人っぽいアプリになる。C++が使える人が使うのは推奨しない。
0477デフォルトの名無しさん
垢版 |
2018/03/11(日) 21:06:45.00ID:dxsKvpqu
C#はC++と違って速さではなく信頼性に重きを置いてるから仕方ないね
インスタンスはともかくアンマネージリソースは明示的に破棄するとか
ファイナライザ任せにしない等の言語に合わせた組み方をする他ない
0478デフォルトの名無しさん
垢版 |
2018/03/11(日) 21:37:01.15ID:3mhDegoW
C++経験者でC#のパフォーマンスが落ちたり不安定になる人は、そもそもC++自体のスキルが低いと思う
関数ポインタとか仮想関数とかちゃんと使えないんじゃないかな
0479デフォルトの名無しさん
垢版 |
2018/03/12(月) 00:27:58.41ID:BncytV2T
>>478
unsafe突入コストはどうにもならん。そんなことも分からないのはC#を碌に使ってないから。
0480デフォルトの名無しさん
垢版 |
2018/03/12(月) 01:14:18.76ID:reAzDpON
>>475
ちょっと工夫すれば避けられる場合も多いし、C++に戻りたくは無いなぁ。
どうにもならない場合はスピードが必要な部分だけC++にするけど。
0481デフォルトの名無しさん
垢版 |
2018/03/12(月) 01:30:27.94ID:f8Jdq3W8
>>479
unsafeはオーバーヘッド無いぞ
アンマネージコードとごっちゃになってるのかな?
C#を碌に使ってる人の言うことは違うね
0482デフォルトの名無しさん
垢版 |
2018/03/12(月) 01:37:18.32ID:P6b6g7+Q
C#のunsafeは使い勝手が悪いから使わないな
デバイス制御とかでポインタが必要ならC++でDLL化して、C#側はDllImportするだけだし
C++をちゃんと分かっている人なら大抵参照渡しで済ませるから、ポインタ使う必要ないよね

あとはWindowsAPIのDLLをそのままC#側にImportする手もある
C++の関数コールバックもC#側のdelegateで問題なく使える
0483デフォルトの名無しさん
垢版 |
2018/03/12(月) 01:37:30.03ID:uT1SaU/h
unsafeは不当に忌避されすぎだと思う
IntPtrとかいう実質void*を駆使したコードなんて、unsafeよりよっぽど危険だわ
ちょうど479のように、unsafeコード=アンマネージコードという誤解も未だに根強いし
0485デフォルトの名無しさん
垢版 |
2018/03/12(月) 01:49:12.81ID:BncytV2T
>>483
unsafe突入コスト → unsafeコード=アンマネージコード

おまえもか。脳みそに蛆でも沸いてるかと思うレベルの理解力。ほんと馬鹿は黙ってたほうがいい。
0486デフォルトの名無しさん
垢版 |
2018/03/12(月) 02:24:49.22ID:FoqPWURs
頭おかしい御仁、こっちにも湧いてござるなw
無益だから相手にしない方がいいよ
0488デフォルトの名無しさん
垢版 |
2018/03/12(月) 02:47:16.72ID:BncytV2T
> unsafeはオーバーヘッド無いぞ

> unsafeコード=アンマネージコードという誤解

こんな馬鹿レスしたあとにくだらない煽りか。低スキルにもほどがあるな。>>486
0489デフォルトの名無しさん
垢版 |
2018/03/12(月) 02:49:20.10ID:BncytV2T
必死にID変えて連投してるからいつもの知ったか馬鹿だな。

相手にした俺が馬鹿だったわ。
0490デフォルトの名無しさん
垢版 |
2018/03/12(月) 03:14:21.90ID:P6b6g7+Q
C++で内部のメモリ構造を考えていない人がC#を使うと
パフォーマンス落ちて不安定なコードになりやすい、っていう話なのに
なんでC#でunsafe使う前提になっているんだろう?
0493デフォルトの名無しさん
垢版 |
2018/03/12(月) 08:10:00.64ID:GwE+AuLl
>>478
自分はC++の仮想関数も関数ポインタも難なく使ってる。そして、C#は自分では使った
事が無い。でも、他人が作った.Net製のアプリを見て余りの遅さに.Netが普及しては
困ると思った。Vectorに登録されてるアマチュアのC/C++のプログラムでも見たことがない
ような遅さの.Netのプログラムをハードウェアメーカーが付属品として付けて来る。プロ
なのに。
0494デフォルトの名無しさん
垢版 |
2018/03/12(月) 08:46:33.45ID:9PWcyUIz
そりゃ単に作った奴の所為じゃないか…プロなんて生業というだけで
プログラマーと呼べない連中など腐るほど居るし、門戸が広ければ蔓延るであろう
JITコンパイルとか境界チェックとかコードセキュリティとかオーバーヘッドは有るけどさ
0495デフォルトの名無しさん
垢版 |
2018/03/12(月) 08:57:44.74ID:plqQ8wmf
XNAでゲーム作ってキャラクター10万個くらい出してもほとんど処理落ちしなかったのに
まともにコード書いた普通のソフトでそうそう遅くなるとは思えん
0496デフォルトの名無しさん
垢版 |
2018/03/12(月) 09:06:37.07ID:GwE+AuLl
.Netは間に色々入るのでCPUキャッシュの効きが悪くなり、キャッシュの多いCPUでは
C++のNative Binaryの2.5倍程度の遅さで済んでもキャッシュの少ないCPUでは急激に
遅くなる可能性があるかも。キャッシュミスがあると、数千クロックのオーバーヘッドが
生じるので、C++の1000倍くらい遅くなる可能性がある。
0500デフォルトの名無しさん
垢版 |
2018/03/13(火) 07:50:28.81ID:+XE+Afrc
[間違い(または嘘つき)記事発見]

以下のリンク先の速度比較で、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;
0503デフォルトの名無しさん
垢版 |
2018/03/13(火) 14:26:57.36ID:uXOwNEDw
LINQだけでググるとこれが出てきてしまう。

LinQ(リンク)は日本の福岡県福岡市を拠点に活動しているローカルアイドルグループ。

この項目では、女性アイドルのローカルグループ LinQについて説明しています。
統合言語クエリ LINQについては「統合言語クエリ」を、その他のLINQについては「リンク」をご覧ください。
0504デフォルトの名無しさん
垢版 |
2018/03/15(木) 01:43:05.50ID:YiCrPUAa
C#が遅くないとか言ってる奴に限ってアセンブラ経験がない。C#信者はVB厨とJava厨と同じレベル。
0506デフォルトの名無しさん
垢版 |
2018/03/15(木) 02:23:16.87ID:+SvmgWRO
設計思想が異なる対象まで遅いだの速いだの言語価値はそれだけかよ
ソースが同じなら処理も同じなんて考えるのが居たらdでもない事だ
C#やILのコンパイラに瑕疵があるのなら然るべき所へ報告すれば良い
0508デフォルトの名無しさん
垢版 |
2018/03/15(木) 07:41:56.53ID:Q6W0fGhF
>>505
AWS Lambda使ったことないと誤解を生みそうな記事だなこれ
Lambdaのランタイムのオーバーヘッドを測ってるだけで、実質的なコードの実行時間はほとんど関係ないよこれ
0509デフォルトの名無しさん
垢版 |
2018/03/17(土) 01:17:02.15ID:NeV8ANw7
プログラムを書いていてちょっと迷ってると、VisualStudioがメソッド等について説明の吹き出しみたいなのを出してくれるけどさあ
あそこに出てくる説明の文章部分ってどうやって作るの?
0513デフォルトの名無しさん
垢版 |
2018/03/17(土) 12:57:36.02ID:AuL8ibAm
さすがにアセンブラ経験なしでここで相談に答える馬鹿はいないだろ。ILだってまともに読めないだろうし。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況