C#, C♯, C#相談室 Part95

■ このスレッドは過去ログ倉庫に格納されています
2017/10/17(火) 04:02:10.51ID:/jJUZ/t7
■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が建てる事
建てられない場合は他を指定する事。
2018/01/09(火) 23:10:43.20ID:DIgE/yw0
ASP.NET以外にWebフレームワークってある?
Nancyぐらいしか見当たらない
他言語だと色々選択肢があるのに
2018/01/09(火) 23:28:00.30ID:i2N64X6y
迷わなくて楽じゃん
2018/01/09(火) 23:50:40.75ID:fgvZnukn
MVCの出来が良いからあえて他を選ぶニーズがない
2018/01/09(火) 23:52:55.17ID:V7ZjzcjU
>>255
ASP.NETの中にいろいろあるやろ
2018/01/10(水) 00:14:38.81ID:oFasEgAN
NancyがASP.NET MVCより良い点は
この辺に書いてあった

http://blog.jonathanchannon.com/2012/12/19/why-use-nancyfx/
https://codeopinion.com/why-use-nancy/

・ルーティングが少ないコード量で書ける
・設定を出来るだけ少なくしている
・サーバーのレスポンスをテスト出来る
・TinyIOCで自動で依存関係を解決(他のIOCコンテナも一応使える)
・パイプラインフック(リクエストの前後で処理を実行)
・Content Negotiationで、ルートでResponse以外を返した時にResponseに変換
・何処でもカスタマイズ・拡張可能

ORMとかは付いてないから自分で好きなのを選んで使うスタイル
260デフォルトの名無しさん
垢版 |
2018/01/10(水) 01:16:21.30ID:CFucH4eA
>>254
確かめて頂きありがとうございます
あれから試行錯誤して、OrderBy()の前にTake()を使うとTrackingされないことが判明しました

何故このような動作になるのか、どなたかご教授ください
2018/01/10(水) 02:31:16.64ID:lJNIeF4g
>>260
そんな動作にはならないから
お前の勘違いかお前が何か変な事してると思われ

とりあえずコード晒せや
2018/01/11(木) 20:18:43.43ID:IXbJ/o0c
1月の月例アップデートのKB4055532がおそろしくバグってるらしい
.net frameworkで文字化けしたり意味不明なエラーが連発したり突然アプリが落ちたりするそうだ

急にアプリの挙動がおかしくなったらまずそこに注意
263デフォルトの名無しさん
垢版 |
2018/01/12(金) 16:30:11.62ID:VxcDYdZu
今C#でゲーム作る時unity以外で作れるフレームワークある?
264デフォルトの名無しさん
垢版 |
2018/01/12(金) 16:31:56.51ID:OH7R1+qF
UnrealEngine4が使える。
俺はエアプだけど。
2018/01/12(金) 16:31:57.20
ない
266デフォルトの名無しさん
垢版 |
2018/01/12(金) 16:42:06.23ID:VxcDYdZu
3年前にXNAやってたけどもう意味ないよな?開発終了してるし、基礎勉強なら使えるかもしれないけど
2018/01/12(金) 17:13:36.62ID:+oVOGpJh
>>266
MonoGameがXNAのオープンソース化移植だからコードほぼそのまま動くで
2018/01/13(土) 12:28:38.59ID:V4m1sF41
C#で書かれたライブラリをネイティブコードにコンパイルして他の言語から使うって出来るんですかね?
ターゲットとなるアーキテクチャはIA32/AMD64系に限らずARM系なども含みます
MonoはLLVMを使っているらしいので出来そうな気もしますがそのような記事を見つけられず・・・

他の言語で使いたいライブラリはttps://github.com/vvvv/SVGです(SVGをレンダリングしたい)
2018/01/13(土) 13:01:40.70ID:we00kWgL
C#を動かすにはプロセス内でホストするなり別プロセスなりで必ずCLRを起動しなければならないので、
アンマネージコードから普通に呼べてクリーンで自己実行なライブラリを作るのはどうやっても無理
2018/01/13(土) 15:41:26.57ID:qrxuDtvr
>>268

たぶんこれがやりたいことに近いハズ

https://github.com/mono/Embeddinator-4000
2018/01/13(土) 21:47:02.08ID:V4m1sF41
>>269
ありゃ、そうなんですか。.NET NativeやLLILC、SharpLangなどネイティブコードへコンパイルする処理系の
があったらしいのでネイティブコード化できるのかなと思ったのですがそう上手い話はないのですね

>>270
これはMono上で動いているライブラリを他の言語から使うラッパーでしょうか?
Monoが動く環境でないとダメか・・・
2018/01/13(土) 21:56:24.98ID:SF/1jAGz
ググったら普通にC++のSVGライブラリヒットするんだが・・・
2018/01/13(土) 22:33:22.57ID:qrxuDtvr
>>271
ああそうか、「他の言語から使う」条件しか満たしてないね。
ネイティブコードにコンパイルしたいって書いてあったね。
しゅまん、これはmonoの上で動くやつ。
2018/01/13(土) 23:01:40.46ID:V4m1sF41
後出しだけど情報を小出しにするのも問題が大きいだろうから現状を。長文失礼

テキストなどの平易なベクターデータ(線、箱、円、文字など)をラスターデータに変換する
ラスタライザーが欲しい。ラスタライズ動作をカスタマイズできるとなお良い
ラスタライズ動作をカスタマイズしたい理由は最終的に欲しいラスターデータが2値モノクロなので
アンチエイリアスの有無や線幅等を調整できる必要があるため

動作させるプラットフォームはWindowsやLinux等を考えているけどOS無しでの動作もあり得るかも
呼び出す側の処理系はCかインタプリタなどからC経由で呼ぶ予定
最初はHTMLのレンダリングエンジンを検討したけどChromiumにしろFirefoxにしろカスタマイズして
実装する的な例を見つけられなかったのと無題に大規模になることもあって断念

次点としてSVG単体での利用を検討しはじめてイマココ。ググってみるとSVGのレンダラーとして
見つかったのはlibrsvgと>>268くらい。前者はGPL/LGPL故に一緒に使用可能なライブラリが制限されるし
後者はC#なのでネイティブで使えない?

う〜む。MonoってOS無しで動作させたり出来るのだろうか・・・

>>272
C++なSVGレンダラーってあったっけ・・・参考までにどれでしょうか?
2018/01/13(土) 23:05:29.28ID:we00kWgL
>>274
Y A G N I
2018/01/14(日) 01:30:55.83ID:3JD+q1Pj
>>274
OS無しも考慮するとなると、C#板ではキツイのでは?
CまたはC++板での相談を推奨かな。
2018/01/14(日) 08:49:46.58ID:9SaBamh2
>>274
librsvg はlgpl2としても使えるように見えるけど、何か問題あるん?
2018/01/14(日) 11:56:09.47ID:TQ+v9n4/
> テキストなどの平易なベクターデータ(線、箱、円、文字など)をラスターデータに変換するラスタライザーが欲しい。

WindowsならネイティブAPIのDirect2Dそのまんまなように思えるが
(最近だと部分的にSVGのサポートも入り始めた)
2018/01/14(日) 12:29:24.23ID:vdiXiAP2
OS無しもとか言ってる奴に
> WindowsならネイティブAPIのDirect2Dそのまんまなように思えるが
とか人の話を聞く気がないのか壊滅的に理解力がないのかどっちなんだろ...
2018/01/14(日) 13:03:40.79ID:7MpxOyR3
そこまでのマルチプラットフォームを求めるなら、
俺ならAWS LambdaとかでWeb API 作ることを検討するわ
2018/01/14(日) 13:12:54.33ID:TQ+v9n4/
>>279
> WindowsやLinux等を考えているけどOS無しでの動作もあり得るかも

そもそもそのへんハッキリしねえから選択肢の一つとして紹介しただけだしなあ
SVGの直接的なサポートは別としてレンダリングの細かい要求は満たしてるしね
2018/01/14(日) 14:04:54.87ID:dCYCQwP3
>>281
> Linux等を考えているけど
って書いてあるのに、バカの上塗り? w
2018/01/14(日) 15:16:42.86ID:XENUVEJC
>>282
こういう人に絡むだけで何も建設的なことを言わない(言えない)馬鹿、
生きてて楽しいのかね
2018/01/14(日) 15:29:59.95ID:DgdnagvN
> こういう人に絡むだけで何も建設的なことを言わない(言えない)馬鹿
自己紹介乙
2018/01/14(日) 16:50:35.10ID:iZ5qlkt1
いまどきオマエモナーとか何時代だよ
2018/01/14(日) 17:25:05.18ID:YC2cce4R
ぬるぽ
2018/01/14(日) 17:56:26.44ID:LoHxEWvM
OSを動かせるハードウェアを用意して>>270で行くかラスタライザーを新規作成するかのどちらかになるのかな

>>277
LGPLの波及範囲は諸説あってはっきりしないのでライセンスがらみのトラブルを回避する上でも避けたいです
2018/01/14(日) 19:20:57.34ID:pIEAW1SE
C#の話題ではないな
終了
2018/01/14(日) 20:44:54.53ID:ZtH88FLC
頭悪いから再開するぞ
よく見てろ
290デフォルトの名無しさん
垢版 |
2018/01/16(火) 15:45:19.73ID:ZKrd/Rqh
MVC5で質問です。
スキャフォールディングのEditアクションでキー項目はテキスト
それ以外のみinputにしようとしています
ビュー作成直後は全てinputで作成されますが
その後、キー項目だけテキストに変えるにはどうしたらよいでしょうか?
EditorForをDisplayForに変えるとなにも表示されなくなりDisplayNameForに変えるとモデルのプロパティの属性のDisplayNameで設定した文字列が表示されてしまいます。
291デフォルトの名無しさん
垢版 |
2018/01/16(火) 17:21:24.89ID:ZKrd/Rqh
解決いたしました
バインドされているモデルがnullなのが原因でした
しかしnullなのにEditorForだと前の画面の値が引き継がれて表示されてるんですよね
腑に落ちないところもあるのですが、、
ありがとうございました
292デフォルトの名無しさん
垢版 |
2018/01/18(木) 06:35:33.53ID:GdcUDZY8
小さいrestサービスだからHttpListnerでWindowsサービスで作ったけど
素直にWebサーバー立てた方が幸せでしょうか
2018/01/18(木) 07:49:32.82ID:Ve4ndohO
社内利用の小さいやつならべつにそれでいいんじゃない?
2018/01/18(木) 08:28:58.34ID:8YG3n4Ol
クラウド使えよ
AWS & API Gateway & Lambdaとかなら仮想マシンすら必要ないぞ
2018/01/18(木) 09:59:22.28ID:MkIzNEag
>>294
オーバースペックやろ
知らんけど
296デフォルトの名無しさん
垢版 |
2018/01/18(木) 10:50:13.65ID:P7FxR2VG
クラウド使いたいけど私の会社はまだ許可されてないのです
多分来期予算取れるからその時移行出来るようにはしたい

今後はわからんですが今のところユーザー少ない&社内のみなのでこれでいいかなぁ

気になるのは同時に接続来たらそれぞれスレッドが別になるのでしょうか
2018/01/18(木) 10:58:27.27ID:2PwBukRJ
クラウド工作員うぜーな
2018/01/18(木) 11:12:16.64ID:8W9zeKhd
>>295
サーバーレスなら自分でサーバーやサービス作るよりよっぽど簡単だぞ
金も社内のみなら余裕で無料枠に収まる
2018/01/18(木) 12:01:18.90ID:9519fNi8
無料枠とかあるの?
2018/01/18(木) 12:05:49.79ID:GUMQumqd
サーバーやクラウドの運用はC#の話なのか
2018/01/18(木) 12:14:21.69ID:+BBtUcLA
答えられなくはないけどスレ違いと言われればそうだな
2018/01/18(木) 14:38:42.96ID:QV0p8ilw
>>298
何と比較してるかよく考えてごらん
2018/01/25(木) 07:27:02.04ID:sgwDXLm5
自分はPHPとJavaScriptしかやったことがないので、WindowsのGUIアプリ開発は初めてです。
WindowsフォームとWPFをちょっといじりましたが、
WindowsフォームはUIをマウスで配置して動作を与え、
WPFはHTMLのようにUIはMLで記述する感じであとはフォームとやることは同じかなって思ったのですが、
この両者の違いはフレームワークの違いだと思いますが、
自分的にはWebからきたのでWPFのほうがしっくりくるのですが、
調べると重いとかで流行ってないらしいので、情報量的にもフォームのほうがいいのでしょうか?
UWPはインストールが面倒だったのでスルーしましたが、今からならUWPがいいですか?
あとC#ではC++にあるらしいWin32プロジェクトは出来ないのでしょうか?
どれ選べばいいのかわからなくて困っています。
2018/01/25(木) 09:28:09.18ID:b1M/YkaV
要件次第
2018/01/25(木) 09:56:25.38ID:NsBjyJ7C
Webの経験あるんならElectronでいいんじゃない?
WinFormsもWPFもとっくの昔に開発終了してるから今更新しく入るのはお勧めできないな
2018/01/25(木) 10:37:24.83ID:AmkE5KAD
Electron使うならC#で在る必要性がないような・・・・
2018/01/25(木) 11:29:45.90ID:sgwDXLm5
レスありがとうございます。
>WinFormsもWPFもとっくの昔に開発終了してるから
それは衝撃です。
ビルドしてテストした感じ前者はビルド速度もリソース消費も良く、UIも期待通りで、
後者はビルドが遅くて、UIも表示通りにならなかったり、テストするのは面倒だなという印象でしたが、
もう改善が見込めないんですね。
UWPはWPFよりっぽいので、心配ですが、UWPをインストールして触ってみます。
いずれXamarinやUnity使ってみたいのもあって、C#の勉強をしてるので、
しばらくはVSでWindows用のアプリケーション作りながら頑張ってみます。
2018/01/25(木) 11:55:18.40ID:Fo/ckcIY
割と最近になってWinformsにHiDPI対応強化やWPFもスタイラス対応強化が入ったりしてるから
とっくの昔に開発終了は語弊があるけどね
とはいえMS自身の都合による突発的な更新という意味合いが強く
積極的にフィードバックを受けての修正や強化というフェーズはUWP以外終えてる感はある

.NETという基盤やIDEは優れているのに肝要のGUIフレームワーク選びでgdgdになるのマジうんこ
2018/01/25(木) 16:45:28.98ID:89fISl4P
UWPとWPFは似たようなものだから、どっちから学習しても問題なし。
覚えたことは簡単にUWPからWPFまたはWPFからUWPに移行できる。
そりゃ、コントロールとか微妙に違ったりすりけど、大きな問題にならんだろう。

xamlの機能に違いがあったりと、高度な事をやろうとすると差がでてくるけど。

だから、学習フェーズの普通の事する分にはどっちから入っても問題なし。
2018/01/25(木) 16:51:20.84ID:89fISl4P
>WinFormsもWPFもとっくの昔に開発終了してるから
後、WPFにもFluent Design対応ぐらいはくるんじゃないの?
2018/01/25(木) 17:40:23.41ID:wJAGA7/R
>>310
そういうお仕着せ的なものを持ち込むのはWPFの思想にそぐわないからそれはないよ
WPF的には、開発者が望むならFluent Designを実装できるだけの機能を備えている、で十分
そういうDIYな思想こそがWPFが使い辛いと言われる最大の原因でもある
2018/01/25(木) 19:10:14.30ID:89fISl4P
去年のBuild2017のセッションの資料に明言じゃないけど、それをにおわせる
ような事が書いてあったんだけどね
2018/01/25(木) 20:47:58.93ID:4wfdsI+N
>>311
備えているならせめてForm時代と同じことさせてくれよ
なんでListViewの罫線自分で描かなきゃいけないんだよ
2018/01/26(金) 09:47:56.58ID:fiAB4bjj
WPFはおわったんだ
それをまた何十人〜何百人のチームを作ってわざわざ新しいものを実装するだろうか?
2018/01/26(金) 21:19:07.38ID:WiPs5FQl
.Net Frameworkのバージョンアップの内容追うと、WPFも地味に改良されてるけどね。
2018/01/28(日) 22:51:48.28ID:EAfEAz/a
開発が終わったとか時代が終わったとか言われても趣味でやる分にはWinFormが一番楽
仕事でやる人は逆に何でも対応しなきゃならないだろうし
2018/01/29(月) 02:02:18.45ID:0ju9RGha
winformしたできんのだけどどうしたらええねん
2018/01/29(月) 13:27:25.02ID:vGlopv/e
あと10年は使えるだろ
319デフォルトの名無しさん
垢版 |
2018/02/01(木) 10:15:12.44ID:Odjas+cj
コマンドラインのオプションを解析・パースするエレガントなLinqを教えてください

例えば、
-i "hoge.txt" -i "fuga.txt" -o "hogefuga.txt"
というコマンドを受け取った時、
{
 "i" : [ "hoge.txt", "fuga.txt" ],
 "o": [ "hogefuga.txt" ]
}
こんな結果に変換したいです
GroupBy()を使えば出来そうな気がするのですが上手くいきませんでした
2018/02/01(木) 11:19:11.59ID:DhFBeVpN
実用になるものはメソッド使わない限り無理だよ
2018/02/01(木) 11:32:56.22ID:jtx9E0YE
標準Linqだと辛いので拡張書くかな

少なくともコマンドラインオプションとオプションの引数をひとまとめにするやつは欲しい感ある
2018/02/01(木) 11:39:56.90ID:DhFBeVpN
クラス使わないと非常に汚いことになるし
オプションの設定を渡さないといけないのでlinqだけでは不可

たとえば-sがオプション必須かどうかがパーサーにはわからない

a.exe -s a.txtが

(a.exe)(-s a.txt)か
(a.exe)(-s )(a.txt)か
2018/02/01(木) 11:50:41.19ID:DhFBeVpN
c#ができたころからコマンドラインオプションの話はずっと言われてる
昔から独自実装したものはあちこちにある
2018/02/01(木) 14:33:55.01ID:DcnHhJsN
.NET Coreのdotnetコマンドのビルドが遅い
速くする方法は無いの?
2018/02/01(木) 21:48:27.59ID:ggiRcw5l
コードを全部捨てる
2018/02/02(金) 06:35:27.68ID:Ppc5wcU7
初歩的なことなのですが・・・
ドット(.)を使って他所のメソッドやクラスを引用?してくるのをよく見かけますが
それがメソッドなのかクラスなのか見分けるにはどうすれば良いですか?

(クラス).(メソッド) の場合もあれば
(メソッド).(変数) の場合もあるのですよね・・・?
2018/02/02(金) 07:40:29.94ID:ud20vwzJ
>>326
()の有無
2018/02/02(金) 08:56:47.53ID:yTkbtrtK
>>326
そこだけで確実に見分ける方法はない
VSの色分けやツールチップに頼るしかない
2018/02/02(金) 09:49:26.18ID:YsRGFgsv
そもそもコード上で見分ける必要性ないやんね?
2018/02/02(金) 14:19:01.65ID:gQB0gokN
変数つーかプロパティな
2018/02/02(金) 22:33:25.08ID:Ppc5wcU7
>>327
すみません ()の有無でどう判断が付くのでしょうか・・・?

>>328-330
そうだったのですね・・・
見分ける必要がないのですか 難しいです
プロパティなのですね 気を付けます
教えて頂きありがとうございます!
2018/02/02(金) 22:38:01.14ID:L31SeJyV
>>331
括弧がつくのがメソッドでつかないのがフィールドかプロパティ
2018/02/02(金) 22:41:11.25ID:FQ5FsFAe
>>331
下の例は判断できないけど、上のは後ろに()がつくからメソッドだとわかる
2018/02/02(金) 22:44:04.39ID:Ppc5wcU7
>>332
>>333
そういうことだったのですね
勉強になりました これで少し先に進めます・・・
ありがとうございます! 精進します
2018/02/03(土) 01:03:02.79ID:W49Io0gV
>>334
相談室じゃなくて初心者のほうに行った方がいいな。今回は優しい人がいて良かった。
2018/02/03(土) 05:49:32.16ID:aLwGqXOU
>>335
そういったスレッドがあったのですね;
ありがとうございます 次からそちらで質問をします
2018/02/04(日) 00:03:18.19ID:zMXPgQ7i
>>324
.NET Core 2.1ではビルドのパフォーマンスが大幅に改善されてるらしい
OrchardCoreのビルドで70秒かかってたのが7秒弱に
2018/02/04(日) 13:04:59.39ID:ORFvnFl0
>>337
.NET Core SDKをv2.1.4にして
早くなった…ような気もする

ソースを何も変更してなくても変更をスキャンするのは無くならないんだろうか?
本家.NET Framework+Visual Studioだと
何も変更が無い場合はほぼ一瞬だったのに
2018/02/04(日) 13:35:52.74ID:zMXPgQ7i
>>338
up-to-date checkのことね
この辺見てみ
https://github.com/dotnet/project-system/issues/62
2018/02/04(日) 13:39:20.84ID:zMXPgQ7i
これとかも
https://github.com/dotnet/cli/issues/5918
2018/02/05(月) 22:21:50.38ID:ic1wM/+d
Restoreっての毎回してるけど
これやらなかったら早い?
2018/02/05(月) 22:33:20.94ID:v3qWrvGr
たぶんね
343デフォルトの名無しさん
垢版 |
2018/02/05(月) 22:58:44.51ID:NyyXMpDu
C#のアプリからエクセルのシートのような罫線や文字が書かれたものをプリンターで印刷したいのですが、プリントオブジェクトで一つ一つ座標を確認して描画しながら印刷するしかないでしょうか
何かいい方法などあればご教示下さい
オフィスが入ってない環境でも実施出来るようにしたいのでエクセルは使えません
2018/02/05(月) 23:22:42.19ID:v3qWrvGr
>>343
オフィスが入ってない環境っていう糞みたいな選択肢を捨てれば幸せになれる
2018/02/05(月) 23:34:01.06ID:SQrOQm2p
>>343
WPFは知らないけどGDI+でちょっとした表を印刷するなんて
たぶん思ってるより簡単だから自分で書いた方が早いよきっと
2018/02/05(月) 23:39:17.25ID:ubowXTd5
htmlで出力→印刷
cssが使える
2018/02/05(月) 23:44:05.24ID:ny8aWquH
>>343
どんな表を想定しているのかわからない。DataGridViewとかはだめなの?
フリーの表計算ソフトインストールしたほうが確実だと思うよ
どっちにしても画面出力ならともかくプリンタ出力はC#だと信用できない
2018/02/05(月) 23:59:26.55ID:SQrOQm2p
ライセンス関係がどうだか知らんけど、まだクリレポもあるみたいだね
でもまあ、余程こった印刷するんじゃなきゃ、自分でゴリゴリ書いた方が早いし応用も利く
2018/02/06(火) 00:39:33.83ID:AA5VxbzV
>>346
これが一番楽で早そう
2018/02/06(火) 00:44:49.14ID:l8gmJN+/
今のHTMLって物理単位で座標やサイズ指定できるの?
俺はまったくいい案だと思わんね
2018/02/06(火) 00:51:18.50ID:oHH9MXTk
HTMLで帳票出力するアプリなんか世の中いくらでもあるだろ
帳票にミリ単位の精度を要求される高度なお仕事お疲れ様です笑としか
2018/02/06(火) 00:56:31.42ID:l8gmJN+/
倒錯してるね
A4ならA4に綺麗に収まるようにレイアウトするなんて最低条件。
子供の遊びじゃないんだから
2018/02/06(火) 01:03:02.80ID:oHH9MXTk
そんなくだらない仕事に誇りを持てるなら幸せなことだね
2018/02/06(火) 01:55:56.74ID:ZfaRyY6g
あるフォルダにexe配置して、複数人で同時起動する場合log吐き出し等、PC事に吐き出せますか?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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