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が建てる事
建てられない場合は他を指定する事。 答えられなくはないけどスレ違いと言われればそうだな 自分はPHPとJavaScriptしかやったことがないので、WindowsのGUIアプリ開発は初めてです。
WindowsフォームとWPFをちょっといじりましたが、
WindowsフォームはUIをマウスで配置して動作を与え、
WPFはHTMLのようにUIはMLで記述する感じであとはフォームとやることは同じかなって思ったのですが、
この両者の違いはフレームワークの違いだと思いますが、
自分的にはWebからきたのでWPFのほうがしっくりくるのですが、
調べると重いとかで流行ってないらしいので、情報量的にもフォームのほうがいいのでしょうか?
UWPはインストールが面倒だったのでスルーしましたが、今からならUWPがいいですか?
あとC#ではC++にあるらしいWin32プロジェクトは出来ないのでしょうか?
どれ選べばいいのかわからなくて困っています。 Webの経験あるんならElectronでいいんじゃない?
WinFormsもWPFもとっくの昔に開発終了してるから今更新しく入るのはお勧めできないな Electron使うならC#で在る必要性がないような・・・・ レスありがとうございます。
>WinFormsもWPFもとっくの昔に開発終了してるから
それは衝撃です。
ビルドしてテストした感じ前者はビルド速度もリソース消費も良く、UIも期待通りで、
後者はビルドが遅くて、UIも表示通りにならなかったり、テストするのは面倒だなという印象でしたが、
もう改善が見込めないんですね。
UWPはWPFよりっぽいので、心配ですが、UWPをインストールして触ってみます。
いずれXamarinやUnity使ってみたいのもあって、C#の勉強をしてるので、
しばらくはVSでWindows用のアプリケーション作りながら頑張ってみます。 割と最近になってWinformsにHiDPI対応強化やWPFもスタイラス対応強化が入ったりしてるから
とっくの昔に開発終了は語弊があるけどね
とはいえMS自身の都合による突発的な更新という意味合いが強く
積極的にフィードバックを受けての修正や強化というフェーズはUWP以外終えてる感はある
.NETという基盤やIDEは優れているのに肝要のGUIフレームワーク選びでgdgdになるのマジうんこ UWPとWPFは似たようなものだから、どっちから学習しても問題なし。
覚えたことは簡単にUWPからWPFまたはWPFからUWPに移行できる。
そりゃ、コントロールとか微妙に違ったりすりけど、大きな問題にならんだろう。
xamlの機能に違いがあったりと、高度な事をやろうとすると差がでてくるけど。
だから、学習フェーズの普通の事する分にはどっちから入っても問題なし。 >WinFormsもWPFもとっくの昔に開発終了してるから
後、WPFにもFluent Design対応ぐらいはくるんじゃないの? >>310
そういうお仕着せ的なものを持ち込むのはWPFの思想にそぐわないからそれはないよ
WPF的には、開発者が望むならFluent Designを実装できるだけの機能を備えている、で十分
そういうDIYな思想こそがWPFが使い辛いと言われる最大の原因でもある 去年のBuild2017のセッションの資料に明言じゃないけど、それをにおわせる
ような事が書いてあったんだけどね >>311
備えているならせめてForm時代と同じことさせてくれよ
なんでListViewの罫線自分で描かなきゃいけないんだよ WPFはおわったんだ
それをまた何十人〜何百人のチームを作ってわざわざ新しいものを実装するだろうか? .Net Frameworkのバージョンアップの内容追うと、WPFも地味に改良されてるけどね。 開発が終わったとか時代が終わったとか言われても趣味でやる分にはWinFormが一番楽
仕事でやる人は逆に何でも対応しなきゃならないだろうし winformしたできんのだけどどうしたらええねん コマンドラインのオプションを解析・パースするエレガントなLinqを教えてください
例えば、
-i "hoge.txt" -i "fuga.txt" -o "hogefuga.txt"
というコマンドを受け取った時、
{
"i" : [ "hoge.txt", "fuga.txt" ],
"o": [ "hogefuga.txt" ]
}
こんな結果に変換したいです
GroupBy()を使えば出来そうな気がするのですが上手くいきませんでした 標準Linqだと辛いので拡張書くかな
少なくともコマンドラインオプションとオプションの引数をひとまとめにするやつは欲しい感ある クラス使わないと非常に汚いことになるし
オプションの設定を渡さないといけないのでlinqだけでは不可
たとえば-sがオプション必須かどうかがパーサーにはわからない
a.exe -s a.txtが
(a.exe)(-s a.txt)か
(a.exe)(-s )(a.txt)か c#ができたころからコマンドラインオプションの話はずっと言われてる
昔から独自実装したものはあちこちにある .NET Coreのdotnetコマンドのビルドが遅い
速くする方法は無いの? 初歩的なことなのですが・・・
ドット(.)を使って他所のメソッドやクラスを引用?してくるのをよく見かけますが
それがメソッドなのかクラスなのか見分けるにはどうすれば良いですか?
(クラス).(メソッド) の場合もあれば
(メソッド).(変数) の場合もあるのですよね・・・? >>326
そこだけで確実に見分ける方法はない
VSの色分けやツールチップに頼るしかない >>327
すみません ()の有無でどう判断が付くのでしょうか・・・?
>>328-330
そうだったのですね・・・
見分ける必要がないのですか 難しいです
プロパティなのですね 気を付けます
教えて頂きありがとうございます! >>331
括弧がつくのがメソッドでつかないのがフィールドかプロパティ >>331
下の例は判断できないけど、上のは後ろに()がつくからメソッドだとわかる >>332
>>333
そういうことだったのですね
勉強になりました これで少し先に進めます・・・
ありがとうございます! 精進します >>334
相談室じゃなくて初心者のほうに行った方がいいな。今回は優しい人がいて良かった。 >>335
そういったスレッドがあったのですね;
ありがとうございます 次からそちらで質問をします >>324
.NET Core 2.1ではビルドのパフォーマンスが大幅に改善されてるらしい
OrchardCoreのビルドで70秒かかってたのが7秒弱に >>337
.NET Core SDKをv2.1.4にして
早くなった…ような気もする
ソースを何も変更してなくても変更をスキャンするのは無くならないんだろうか?
本家.NET Framework+Visual Studioだと
何も変更が無い場合はほぼ一瞬だったのに Restoreっての毎回してるけど
これやらなかったら早い? C#のアプリからエクセルのシートのような罫線や文字が書かれたものをプリンターで印刷したいのですが、プリントオブジェクトで一つ一つ座標を確認して描画しながら印刷するしかないでしょうか
何かいい方法などあればご教示下さい
オフィスが入ってない環境でも実施出来るようにしたいのでエクセルは使えません >>343
オフィスが入ってない環境っていう糞みたいな選択肢を捨てれば幸せになれる >>343
WPFは知らないけどGDI+でちょっとした表を印刷するなんて
たぶん思ってるより簡単だから自分で書いた方が早いよきっと >>343
どんな表を想定しているのかわからない。DataGridViewとかはだめなの?
フリーの表計算ソフトインストールしたほうが確実だと思うよ
どっちにしても画面出力ならともかくプリンタ出力はC#だと信用できない ライセンス関係がどうだか知らんけど、まだクリレポもあるみたいだね
でもまあ、余程こった印刷するんじゃなきゃ、自分でゴリゴリ書いた方が早いし応用も利く 今のHTMLって物理単位で座標やサイズ指定できるの?
俺はまったくいい案だと思わんね HTMLで帳票出力するアプリなんか世の中いくらでもあるだろ
帳票にミリ単位の精度を要求される高度なお仕事お疲れ様です笑としか 倒錯してるね
A4ならA4に綺麗に収まるようにレイアウトするなんて最低条件。
子供の遊びじゃないんだから そんなくだらない仕事に誇りを持てるなら幸せなことだね あるフォルダにexe配置して、複数人で同時起動する場合log吐き出し等、PC事に吐き出せますか? >>343です
レス頂いた方ありがとうございます
基本的には地道にやるしかないんですかね
GDI+はもう少し調べてみます
html+cssは確かにかなり使えそうなので今後の引き出し用兼ねて、じっくり試してみてみます Excelをテンプレートにして値を埋め込んで印刷できるツールなら(金を出せば)あるよ >>357
得体のしれないものに金を出すくらいならオフィス買えよ… 帳票のデータをDBにぶち込むアプリ作ってるんだけど動的なSQL文作成って普通はどういう作り方をするもの?
今は列が2個とか3個だから@"insert〜"ってベタ書きしてsqlparameterで値入れてるけど
元データがファイルならSQLインジェクションは考えなくていいはずだからSQLparameter使う必要はないはずだし
列の数が増えたら改造が大変になるから改修作業が楽になるような作りにしたい
今はSQL文作成部分をDBごとに別々のメソッドで書いてるけどこれも共通化できるもん? >>359
そんな程度のものだったらEntityFrameworkで十分 パラメーター渡すだけで普通はSQL文はいじらないと思う
テストに困る
SQL専門家がいるところではそんな感じ HTML+CSS+wasm in C#みたいな文脈で開発がしたいにゃ〜 C#て使われるスタンダードな帳票ツールってなんでしょうか? >>365
私の会社は運送業界なので荷札とか直接紙で出しています。excelやaccessで帳票出せるのですが、荷札に綺麗に印刷するには各端末の設定に依存していて、変更する度にその設定作業で禿げそうなのです。
あとExcelとかはバージョン管理ソフトで差分見れないのもストレスです。 クリレポって言葉が出た直後のこの質問
分かってて聞いてるとしかw http://techoh.net/wpf-control-storyboard-with-code/
このサイトを見て、アニメーションを学んでいたのですが
Rectangleは動くのですが、このRectangleの代わりに画像を動かしたいのですがどうすればいいのでしょうか?
単純にImageに代えただけでは上手く動きませんでした・・・ Null非許容型自体は悪くない
標準のclassをNull非許容型にする必要はない
Null許容前提で設計されてるものをなぜ急にNull非許容にする?
クラスをまともに設計してないのか? 意識高い系の人達が標準のclassをNull非許容型にしたいだけ
null非許容にするとこれまでロジックミスでnullになってたものが意図しない初期値になってるだけで
不具合自体が見つかりにくくなる
今までは止まってたからわかったけどそれがわからなくなる
動いてるけど何かおかしい状態が増える 普通だったら今までのを標準にして新しい機能を拡張とする
それが今度は逆でさらっと破壊的変更が入りましたで終わり >Null非許容型を前提としたものかどうかAssembly単位でも設定できる
アセンブリ単位だと言うことが問題だと思うけど
既存コードはそのまま通せないということ > >>401
> 大方どっかのチュートリアル通りの手順を踏んだだけで、現在のproposalなんか確認してないんだろうな
> そんなん猿でもできるわ
そちらの猿はやった?
それとも猿以下? WPF使えないやつは馬鹿
MVVM使えないやつは馬鹿
Rx使えないやつは馬鹿
とか言ってるけど全然普及してない
使えないんじゃなくて使ってないだけ ブーイモ MM6d = アウアウウー Saa5
荒らすなボケ ソース単位で見てこれはどっちの仕様のソースなんだろうかと考えないといけない時点でおかしい (ブーイモ MM6d == キチガイ) == (アウアウウー Saa5 == キチガイ)
これでOK defaultのclassを非Null許容型に変えるのは破壊的変更ではないのですか? >>385
その方向性は間違っています
今までのレスで示した通り >>387
そっちこそ俺のレスが回答になってることがわからないなら英語読めてない >>373
>既存コードはそのまま通せない
はいキチガイ >defaultのclassを非Null許容型に変えるのは破壊的変更ではないのですか?
これにすら答えられないんだから言っても無駄か 俺は最先端(笑)追いかけるの興味ないんで実際にはどうだか知らないけど、
常識的に考えればMSが既存のコードに重大な影響がでるような破壊的変更を許容するはずがない。
杞憂を通り越して被害妄想にしか聞こえんなあ >>399
今のMSはVSのマイナーアップデートに平気で破壊的変更ブチ込んでくるぞ
C#7.1も正式リリースでバグ出しまくって破壊的変更で修正入れてる
リリースに客のお伺い立てないといけないような連中はもう相手にしてないんだよ ■ このスレッドは過去ログ倉庫に格納されています