ふらっと C#,C♯,C#(初心者用) Part140

レス数が950を超えています。1000を超えると書き込みができなくなります。
1デフォルトの名無しさん (ワッチョイ 9e9f-LwdJ)
垢版 |
2018/10/04(木) 18:56:38.41ID:JnxMNCXd0
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■関連スレ
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part139
https://mevius.5ch.net/test/read.cgi/tech/1533466544/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/

■情報源
https://msdn.microsoft.com/ja-jp/library/gg145045.aspx
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
851デフォルトの名無しさん (ワッチョイ 899e-ZtDu)
垢版 |
2018/12/08(土) 16:04:06.83ID:f0K+9NgH0
組織でたとえるならこうなるからな

 経営者クラス 社員をこき使う
  ↓
 社員クラス ← 派遣をこき使う(職階ごとの複数の中間層)
  ↓
 派遣クラス ← キミラが担当するような低レベルな部分の単純作業(つまりキミラ)

派遣は社員の作業も役員の作業もしない
社員は役員の作業はしない

関数の行数が多いのは
作業を整理して作業を手順化して
派遣にうまく単純作業を割り当てれてないのと同じだからな
つまり、人に仕事させないと自分の作業が増える

キミラは派遣ドカタだからな、そういう作業はできないのは分かる

当然作業ミス(例外)が発生してスルーし続けてたら上までいく
2018/12/08(土) 16:05:41.25ID:BPUiFCQU0
3行にまとめられない奴の発言は読む価値がないって本当だわ
853デフォルトの名無しさん (ワッチョイ 899e-ZtDu)
垢版 |
2018/12/08(土) 16:05:53.18ID:f0K+9NgH0
例えば扱うビジネスの領域が違えば
部門を分けることになる

会社に複数の部門があっても一つの会社だからな
種類で分けるというのはそういうことになる

キミラみたいな一種類の単純作業しかしてないヤツラには関係ないワケ
854デフォルトの名無しさん (ワッチョイ 899e-ZtDu)
垢版 |
2018/12/08(土) 16:06:15.85ID:f0K+9NgH0
というわけでな
キミラは刺身にタンポポのせる作業に戻りなさい
キミラにはムリ
855デフォルトの名無しさん (ワッチョイ 899e-ZtDu)
垢版 |
2018/12/08(土) 16:10:10.36ID:f0K+9NgH0
いちいちタンポポ載せてる作業経過報告はいらない
作業の補助とか、いちいち次になにをするかとかとか指示はしないからな

タンポポが地面に落ちたとかこのタンポポのハナ小さいとか
そういう報告(リフレクション)もいらない
捨てときなさい
それぐらい分かるだろう

タンポポが足りなくなりそうになったら
この台帳に書いときなさい
コレだけはたまに見といてやるからな

キミラのコーディングは自身がおかれてる立場と
まったく一致してるワケ
2018/12/08(土) 16:25:26.23ID:pq+LKchRM
プロジェクト適切に分けて
依存関係の正規化しろって話だろうに

リフレクションは関係ないしな
その程度の理解やから長い寝言いってる
857デフォルトの名無しさん (ワッチョイ 899e-ZtDu)
垢版 |
2018/12/08(土) 16:26:20.22ID:f0K+9NgH0
所詮、派遣ドカタ
残念なことに派遣ドカタのレスなんか
すぐにわかるわ
858デフォルトの名無しさん (ワッチョイ 899e-ZtDu)
垢版 |
2018/12/08(土) 16:28:18.82ID:f0K+9NgH0
バカに限って抽象化とかいって
サルみたいにうれしがって継承するからな

破綻はそこから始まる

しばらくほっとくと
データ受け渡しするために
無秩序に相互参照しはじめる

こうなったら終わりの始まり
2018/12/08(土) 16:41:33.73ID:MYwA5eIj0
質問です
ifの条件に配列を使いたいとき、例えば
if( 配列[ ]=={1,2,3,4} )
みたいにやるにはどうするのが一番簡単ですかね
配列[0]==1&&……で一個ずつ作るしかないですか
2018/12/08(土) 16:42:23.72ID:BPUiFCQU0
http://hissi.org/read.php/tech/20181208/
貫禄あるわ
2018/12/08(土) 16:59:12.00ID:w7bOiw+rd
>>859
https://docs.microsoft.com/en-us/dotnet/api/system.linq.enumerable.sequenceequal?view=netframework-4.7.2
2018/12/08(土) 17:04:10.21ID:fWle4nJW0
左辺も右辺も同じ長さの配列であればfor文を使うと書く量を減らすことができる気はする
2018/12/08(土) 18:13:48.89ID:CGiGObuC0
半角さんはこっちでも馬鹿を晒してるんだ。。
次世代言語スレで論破されてもまだみっともなくないんだね。
2018/12/08(土) 18:29:25.68ID:x4cazcr0d
俺はできるだけなんでもリフレクションでやるようにしてるよ
2018/12/08(土) 18:42:24.05ID:bRz/x0PH0
半角カナの人はあっちこっちで喧嘩売っている話の通じない人だから相手にしないでくれ
あとここ質問スレだから質問以外の話は相談室なり他で頼むよ
2018/12/08(土) 18:56:28.19ID:xIFIrW3s0
if( 配列.Where( a => (new int[] { 1,2,3,4 }).IndexOf( a ) > 0 ).FirstOrDefault() != null )
とかボソッと言ってみる。真に受けないでね。
867デフォルトの名無しさん (ワッチョイ 2b80-ZtDu)
垢版 |
2018/12/08(土) 21:20:12.98ID:tBodI9MC0
オレはケンカなんか売ってない
バカが真人間になるように矯正してるだけだからな

バカはオレにケンカ売ってるつもりらしいな
2018/12/08(土) 21:48:06.02ID:3kcswmur0
>>859
「一番簡単」が何を求めているのかわからないが、比較するものの数が決まっているのなら「配列[0]==1&&……で一個ずつ作る」のが「速くなる」
汎用にしたいのならラムダもlinqも俺自身が使えないのでメソッドにすると例えば
private bool hikaku(int[] arr1, int[] arr2)
{
if (arr1.Length != arr2.Length) return false;//配列の長さのCheck
int i = 0;
for (; i < arr1.Length; i++) if (arr1[i] != arr2[i]) break;
return i == arr1.Length;//全部一致したら最後まで止まらない
}
メソッドを呼び出すのはそれだけで速度的にだいたいロスになるので「速い」動作を求めるのならこれも勧めない
linq使うのが一般的だと思うけどそれは他の人に聞いてw
2018/12/08(土) 22:16:08.56ID:D0J+wHRo0
>>868
>>861やろ
2018/12/08(土) 22:32:50.81ID:uQ6Iu0Wba
まあ、>>861で済んでるとは思うんだけど、あえて付け加えるならこう?
public static bool Equals<T>(this T[] x, params T[] y) where T:IEquatable<T>
{
  return x.SequenceEqual(y);
}

今は(というか10年前からだけど)new[]{...}が使えるからparamsは有難みが薄いかもしれない
2018/12/09(日) 01:48:43.58ID:XoVxwZDP0
vbで言う、戻り値もらう時Function 〇〇の〇〇の部分って変数はそのまま使えない?
あとcallはないみたいだけど、人が書いたコード読む際にこれはなんか値取ってきてるなとか何か計算しにいってるなとか一目で分かるには慣れるしかないですかね?
2018/12/09(日) 02:03:01.52ID:bhezjmzk0
〇〇 = 戻り値 は return 戻り値; じゃね。

Call は戻り値とかではなくて戻り値のない関数(Sub)を呼ぶときに引数の部分を () でくくりたい場合に使うものではなかったっけか。
戻り値を受け取るかは呼ぶ側で 変数 = 呼ぶ関数(); になってれば受け取るんだろうし、
呼ばれる側が戻り値を用意してるかどうかは呼ばれる側の関数の(戻り値の)定義が void になってれば返さないんだろうしってことじゃダメなん?
2018/12/09(日) 09:10:07.58ID:k8VV6Zfs0
関数名で工夫してくれとしか言い様がない
2018/12/09(日) 09:41:25.17ID:QJ+QHutHa
>>871
現代のVBではCallを明示的に書くのはMSが非推奨
2018/12/09(日) 11:46:59.00ID:YUuZNzEz0
>>874
MSが公式にそう言ってるのか?ソースはどこ?
2018/12/09(日) 11:50:28.80ID:QJ+QHutHa
>>875
https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/statements/call-statement
> You typically use the Call keyword when the called expression doesn’t start with an identifier.
> Use of the Call keyword for other uses isn’t recommended.
2018/12/09(日) 11:55:54.72ID:ePHB7dYMM
意識高い系VBerさん達が梯子外されちゃって可哀想
2018/12/09(日) 12:17:17.42ID:qjppHIrra
VBでもCallなんて付けない方がいいと思うしそれが普通だと思うけど、
>>876の内容はCallキーワードの使用一般を非推奨とはしてないじゃんw

これが非推奨と言ってるのはたぶん、
Call Math.Min(1, 2)
みたいな使い方。これはCallはC系の言語でいう式になってない、つまり
Dim x = Call Math.Min(1, 2)
と書けないことも一因か?

あと、>>871
>vbで言う、戻り値もらう時Function 〇〇の〇〇の部分って変数はそのまま使えない?

これはどういう意味なの?
まったく分からん
2018/12/09(日) 12:31:52.14ID:qjppHIrra
C#でも自分のメンバー呼び出しにthis付けないと気が済まない人がいるけど、
あれはVBから来た人なのかねw

Call付けたい心理とたぶん同じだよな
2018/12/09(日) 12:49:25.72ID:bhezjmzk0
こうしてまた場外乱闘が始まる。
なんでわざわざ煽るかね。
2018/12/09(日) 12:50:49.25ID:gZ+yGu4Z0
jsとかpythonとかphpとか
2018/12/09(日) 13:01:48.54ID:qjppHIrra
>>880
別に煽ってないし
this付けたがる人はそもそもそんなに多くないと思うから杞憂だよ
2018/12/09(日) 13:02:30.07ID:G5eD25r9M
>>878
いや呼び出しが識別子で始まらない場合って書いてあるでしょ
サンプルコードにあるように、New Hoge.Method() とか、ラムダ式を即時呼び出しするケース
これは純粋に構文解析上の制限だろう
2018/12/09(日) 13:13:46.66ID:QJ+QHutHa
BASIC系ではステートメントは原則的にステートメント種別を示すキーワードで始まらなければならず、式が単独でステートメントになることはできない
これは構文解析を楽にするための制限で、大昔の言語ではわりと一般的なスタイルだ
ただ、さすがにそれは不便だということで、識別子から始まる式については例外的に単独でステートメントになることができる
>>876のサンプルコードにあるようなケースでは四季がステートメントと見做されないから、例外的にCallが必須になるということだね
2018/12/09(日) 13:16:52.52ID:qjppHIrra
>>883
ああ、なるほどそうだねごめんw
MSDNの記事読んでなかったよw

VBは
(New TheClass()).ShowText()
と書けないのか。ダメな理屈がよくわからんなあ

ラムダ式の即時呼び出しは便利そうだね。
必要になった記憶はないし、戻り値を握りつぶすんじゃ相談室の方の661の
質問みたいなことはできないが
886デフォルトの名無しさん (ワッチョイ 89a5-aoeu)
垢版 |
2018/12/09(日) 13:48:52.09ID:TF/l/AmT0
文法の違いにケチつけても意味無いだろ
外国語覚えるつもりで勉強しろよ
2018/12/09(日) 14:06:56.27ID:pDRfOAll0
言語の記述方式ばっかりこだわって大したもん作れなかったら笑う
2018/12/09(日) 14:11:59.27ID:BoegikOT0
>>885
MSDN? docsじゃなくて?
2018/12/09(日) 14:54:32.29ID:3jtGHyYw0
>>878
vbではfncHogeの戻り値を設定するのに
return 1
fncHoge = 1
のどちらの書き方もできたねん
関数の中で、関数名を変数名として使えた

再帰処理なんか考えたら
パっと見紛らわしくて
可読性に問題あるけどね
2018/12/09(日) 16:17:23.00ID:MwzmlrtWa
>>889
あーVB6はそういやそうだったね
.NETになって以降のVBでもそうやって書けたんだ。知らんかった
https://msdn.microsoft.com/ja-jp/library/dd297703.aspx

>>871はこれを言ってたのか
2018/12/09(日) 17:30:37.98ID:iieryEV90
ちょっとすれ違いだけどVB出てきたのでちょっと質問
C#でMicrosoft VisualBasicを参照にしてInteraction.InputBoxを使って「キャンセル」が押された場合は
VBで言うEmptyが返るはずなんだけど(VBのfunctionで何も値を設定せずexit functionした場合はEmptyが返る)、
EmptyかどうかをC#で判定する方法ってありますか?
2018/12/09(日) 17:38:47.00ID:iieryEV90
VBScriptなんかだと
r = Inputbox("何か値を入れてね")
if IsEmpty(r) then MsgBox "キャンセル押したね?"
という風に空文字列と区別とできるのでそれをやりたいの
893デフォルトの名無しさん (ワッチョイ abeb-3M3s)
垢版 |
2018/12/09(日) 17:42:09.39ID:vv5ogZC30
初心者用スレッドは学習者のためにあるべきだろう
進歩のないVBコピペプログラマーのためにコードを代わりに書いてあげる場所にはならないようにしようぜ
2018/12/09(日) 17:47:39.30ID:QJ+QHutHa
>>891
デバッガで何が返ってるか見たらすぐ分かるでしょ
2018/12/09(日) 17:53:08.88ID:z3UBPXgg0
>>891
何も入力しないでOKでも、キャンセルでも空文字列だから判別できないね
キャンセル判定したかったら横着せずに自分でフォーム作れって事でしょ
2018/12/09(日) 18:58:05.28ID:MwzmlrtWa
>>892
たぶん分かってると思うけど、ドキュメント見る限り無理だね
そもそも今時モーダルなダイアログを表示してテキスト入力させるUIってどうなのよって気がする
単純なメッセージボックスでもイラッとくるよね
2018/12/09(日) 19:01:49.57ID:bhezjmzk0
>>891
その Empty の型はなに?
たぶん string なんだろうけど、それなら IsNullOrEmpty() あたりかね。
895 の言うような問題もあるけれど、もとから Empty かどうかだけで判定してたなら上ので用が済むんじゃね。
2018/12/09(日) 19:10:45.90ID:iLUD8BLY0
nullが来ないなら==でstring.Emptyもしくは""と比較するだけで良い
2018/12/09(日) 19:44:20.03ID:YUuZNzEz0
>>892
そもそも、今のVB.Netでもそれ出来ないから
2018/12/09(日) 19:47:41.34ID:IXOxvMb/0
>モーダルなダイアログを表示してテキスト入力させるUI
えっこれって今いけてない扱いなの?
今どきはどんな感じでやってるの
2018/12/09(日) 20:09:11.31ID:pDRfOAll0
>>900
俺もモーダルがいい派
2018/12/09(日) 20:35:01.06ID:DSJaW4t2a
別に本当に必要ならモーダルでいいよ。

どうせ分かって言ってると思うけど、モーダルなダイアログはユーザーの自由を奪って
特定の操作の完了を強制するUIだから、可能なら避けるべきなのは当たり前だし、
昔から嫌われ者だよね

そして、どうしてもモーダルなダイアログでテキストの入力を強制する必要があるケースなんか
あんまりないと思う。他にいくらでも代替手段があるでしょ
2018/12/09(日) 20:39:11.66ID:pDRfOAll0
>>902
俺は逆
どうせ特定の手順でしか設定できない・しないのに無駄な自由度を付けて
バグを盛り込んでいるアプリが多い
完成度が低い
2018/12/09(日) 20:50:02.42ID:IXOxvMb/0
>>902
なるほど
でも業務システム作ってる身からすると>>903の意見に賛成
2018/12/09(日) 21:16:47.75ID:pBWk36nsM
>>904
そだね〜
2018/12/09(日) 21:26:29.57ID:YUuZNzEz0
>>902-903
システムモーダルなら問題あるけど、アプリケーションモーダルなら好きにすればいい
2018/12/09(日) 21:57:23.95ID:BoegikOT0
>>906
これ
2018/12/09(日) 22:21:24.37ID:+4l8dAVu0
うちの場合、モーダルではなく、入力されて問題ない時だけ入力出来るようにしてるわ。
ボタンも、押すと問題があるor意味がない時は無効化。
オペレーターの入れ替わり多い業界相手に売ってるから迷わせたらサポートが死ぬ。
2018/12/09(日) 22:21:51.64ID:iLUD8BLY0
アプリケーションモーダルでもメインウィンドウの移動が出来なくなるのは嫌い
2018/12/09(日) 22:34:38.83ID:DSJaW4t2a
IEではお気に入りに追加はモーダルなダイアログだったけど、
EdgeではChromeやFireFoxを真似てモードレスになってるよね。

まあ、さすがにモーダルの方が好みとか、作る方の都合を言ってるんじゃなきゃ
ネタで言ってるんだと思うが...
2018/12/09(日) 23:03:22.33ID:iieryEV90
デバッガで追ってみましたがどうもだめっぽいのであきらめます
ありがとうございました
912デフォルトの名無しさん (ワッチョイ 93d2-dPO+)
垢版 |
2018/12/10(月) 07:30:25.23ID:ouPt/Ido0
まさかクソセンスのないおまえらがUIを語るとは思わんかったw
大体ユーザーが喜ぶんわおまえらが良いと思う逆やからね
これ覚えとった方がええでw
2018/12/10(月) 07:53:13.93ID:m/IRk2haM
おっそうだな
2018/12/10(月) 16:42:10.34ID:Z8Q8rcnc0
>>879
thisつけたいのはIntelliSenseで楽するためじゃない?
2018/12/10(月) 19:57:30.23ID:mIPzNYaj0
>>912
逆?違うよ
ユーザーが喜ぶのは
カッコイイとは無縁の
Excelだよ
設定はExcelファイルから
帳票はExcelファイルで出力
これさえ押さえておけばオールオッケー
2018/12/10(月) 22:56:37.46ID:e05pNJ/D0
モーダルダイアログの欠点は、マルチウインド故に偶に起こる事故でモーダルなのにウインドウがメインの裏に回っちまって操作不能になる
それが改良されたUWPのContentDialogは良いね
何しろメインウインドウ上に描画されているだけだから上記の事故が発生しない

wpfのmaterial design xaml toolkitでも似たようなことが出来るな
2018/12/10(月) 23:00:17.02ID:gZkxIcRc0
>>916
TopMost=trueにしとけば済む
2018/12/10(月) 23:33:16.90ID:mIPzNYaj0
そうなってもタスクバーからのサムネイルで消せるけど
工場のおっさん、電話かけてくるからな
2018/12/11(火) 07:50:38.93ID:Oc9mBFvNa
>>916
つ親指定
2018/12/11(火) 17:14:17.41ID:znnejAaHa
>>919
そもそも>>916が言ってるような挙動は本当であればバグ。
内部の実装としては、親を指定しないバージョンが呼ばれた場合は
恐らくアクティブウィンドウを親にしてるはずで、そうであれば解決策にはならんだろうね

もっとも、こんな挙動は確かにWin9x時代は何度か体験した記憶があるけど、
Win2k以降は個人的には記憶がないなあ
2018/12/11(火) 20:53:01.04ID:TeCHIZzA0
>>916
それってweb画面では当たり前で昔からあるしIEベースのHTAでもできる
UWP発祥とかじゃないよ
2018/12/12(水) 07:55:33.61ID:PgOiCvwKa
>>920
GetParentをcallすれば分かる
2018/12/12(水) 15:25:10.30ID:gpIihp8I0
たまに暴走状態になって強制終了するしかなくなるのですが、
単純なエラーではなく暴走なのでどこのプログラムミスで暴走しているのかわかりません。
対処方法ってありますか?
2018/12/12(水) 15:25:44.89ID:VUTtNEedd
>>923
暴走状態とは?
2018/12/12(水) 15:30:47.96ID:gpIihp8I0
こういうやつです。
マウスポインターで待ち状態のカーソルが出て半透明になり、その後↓の警告が出てくるような状態です。
https://kb.seeck.jp/wp/wp-content/uploads/2011/05/PTBL1912-s.jpg
2018/12/12(水) 15:41:22.57ID:gpIihp8I0
簡単に再現すると、これを実行したような状態です。
bool test = false;
while (test == false) { };
しばらくすると半透明になって、右上の×しか押せなくなり、押すと↓のような警告が出て終了するしかなくなると思います。
http://dekiru.info/wp-content/uploads/2015/03/tskmgr02.jpg
2018/12/12(水) 15:49:07.30ID:Gas9nc7W0
単にメインスレッドで重い処理やってるだけのような気もしないでもないけども
とりあえずCPUに余裕があるならVS起動してプロセスにアタッチして全て中断してみる
2018/12/12(水) 18:46:12.29ID:9xK1qYaAa
盗んだバイクで

>>926
デバッグ実行してその問題が起こった時に、にIDEのツールバーの一時停止のピクトグラムのボタン
(ツールチップの表示は「すべて中断」)を押せばビジーループになってる箇所が分かるんじゃない?
2018/12/12(水) 20:23:04.54ID:kvTCOjS80
>>926
VS2017ならデバッグのパフォーマンスプロファイラーで監視したらデバッグ停止した後にCPU負荷の一覧をメソッドごと(関数名)に作ってくれるよ
だいたいどこかのループで嵌っているんだろうから自分で書いているのなら当たりつけてブレークポイント入れていけばわかると思うけど
930デフォルトの名無しさん (ワイーワ2 FF42-yWnt)
垢版 |
2018/12/13(木) 12:15:25.84ID:zFPTCGevF
coroutine化汁
2018/12/13(木) 23:49:25.37ID:usWLAkyh0
見た目とコードを分離するために、WPFとかではMVVM pattern使えとか
書かれていることあるけど、企業向けの業務アプリでは
コードビハインドにはほとんど書かずにMVVMでかく割合はどれくらいなの?

コードビハインドほとんど使わなかったらコードが冗長になって
マイナス面のが多そうに感じる。
2018/12/14(金) 00:16:03.93ID:lOfJT1COa
その前にWPFを採用する割合がほぼゼロ
.NETの業務アプリなら今はほとんどがASP.NETで一部WinFormsが残ってるくらいだよ
2018/12/14(金) 02:47:17.47ID:55WBGJfT0
うちは専用端末向けの業務システム売ってるけど、WPFでなくWinForms使ってる。
ハードウェアとASPサービスのセットが前提の売り物だけど。
2018/12/14(金) 03:27:54.19ID:GJ/DAGX40
>>932-933
クロスプラットフォーム対応のためにWeb appというのはかなり前
からあるのは知ってるけど、ほとんどというほどASP.netになってるの?
あとASPはclassic ASP.netではなくASP.net MVC?

Web appのデメリットとしては
ブラウザだとUIがしょぼくて操作性が落ちる
見た目も悪い
UIまわりの開発の時間とコストが増える
ブラウザバージョンアップで動かなくなる
パフォーマンスも落ちる
とかデメリットが多すぎるし全部ブラウザだけでなんとかするのは少数派だと思ってた。
2018/12/14(金) 03:43:58.72ID:GJ/DAGX40
>>932-933
web appとの比較は別にして、WinFormsとWPFの選択肢で
新規でWinFormsを選ぶ意味ってまったくないんじゃないの

ただWPFわかる人がいなくてWinFormsでやっちゃったというかんじかな
WinFormsはWPFに比べて表現力が劣るからUIまわりで後から細かい注文
ついたときに困ったことになるんじゃない

UWPが微妙だから、desktop appはWPFの一択になってると思ってたわ
今ならWPFよりもXamarin使ってクロスプラットフォームとリッチアプリの
いいところどりがいいのかな
コカ・コーラとかSMBCがXamarin使ってるらしいけどMonoバグだらけ時代を
知っているとXamarin使うのも怖い
2018/12/14(金) 06:22:30.47ID:2oR8X5p/0
分かる人がいないって超リスク要因なんだけどスルーなんすね

仕事したことあんのか
2018/12/14(金) 06:37:15.38ID:Pyvt1iyXM
WPF分からずに使ってるならリスク保有
WPF分からないから使わないならリスク回避
2018/12/14(金) 07:06:46.41ID:Ril/QPHWM
工場のおっさんにそんなもんいらん
2018/12/14(金) 07:48:40.74ID:lOfJT1COa
仕事したことないんだろうけど、業務アプリでは特にどうしても止むを得ない理由がない限りはWebアプリを選ぶんだよ
イケイケのWebベンチャーでなくても、毎日のようにリリースされるシステムって普通にあるんやで
2018/12/14(金) 08:08:29.06ID:tIMQiboGd
俺が前にいた会社はWPFバリバリ使ってたよ。 
Blendも使ってた。
デザインセンターとやりとりするのにBlend確かに便利だったし。
WinFormsはほとんど使ってなかったな。
2018/12/14(金) 08:15:12.24ID:GJ/DAGX40
>>936-937
あおるつもりじゃなくて真剣に思うけど
開発やってる会社がWPFすら知らないってのは会社としてレベルが低すぎじゃないか
WPFでたのが2006年
12年経ってもWPFわかる人いないくて新規でWinFormsで開発ってかなりやばい
C#ならクライアントの要望に応じてWPF, UWP, Xamarinと提案できるのが
まともな会社だろう。

MVCへの反応なかったところみても、ASPも古臭いclassic ASP使ってるんだろうな
ORMも使わずSQLゴリゴリ書いてそう

>>938
PCの初心者ほどわかりやすく使いやすいUIが必要
Webアプリって最低レベルのUX, UIだ
2018/12/14(金) 08:27:22.66ID:GJ/DAGX40
Web appが使いづらいからこそ多くの企業がsmartphone appをリリースしている
一般の個人ユーザーでさえWeb appを嫌っているという証拠だ
業務で長時間使うアプリがブラウザベースっていうのは普通にゴミでしょ

>>939
本当はユーザーに選ばせたのではなく、classic ASPしかできないから
ほかも提案せずにclassic ASPで開発したんだろう。

ユーザーはやむを得ない理由がない限りブラウザみたいな使いづらいのを選ばない。
Xamarinとか使えばクロスプラットフォーム対応もできるわけで
Web appを使わなければならないケースもほぼないだろう。
不特定多数に使わせるシステムならブラウザでも仕方ないが社内利用だからな
2018/12/14(金) 08:35:34.97ID:tIMQiboGd
今の業務系ってWebの方が多くない?
長時間使うものでも。
セットアップが必要だと割と嫌われる気がする。
環境変えるのは割と稟議要るし。
うちどうしてもクラサバにするアプリは未だにClickOnce使ってる。
2018/12/14(金) 08:39:24.37ID:Tj2eBqcgd
業務系っつってもいろいろあるしな
インストールとかのこと考えたらwebで済むならwebでやったほうが導入コスト抑えられることもあるし
案件次第かと
2018/12/14(金) 08:40:29.88ID:tIMQiboGd
考えるに、Web系にしたいのは、タブレット対応を出来るだけ楽にやりたいって方が大きいんじゃないかな。
iPadアプリなんかは大量に作るわけにもいかんし。エンタープライズでも個数は決まってるから。

ASPならある程度は楽だよ。
UI部分はJSフレームワークと内製コントロール使ってるけど、今までのフォームベタ書きより遥かに楽。
そういえば今Office365だってReactだね。
2018/12/14(金) 08:42:11.70ID:tIMQiboGd
認証もSSOかけたいしね。アプリ毎にログイン画面出したり、ログイン用dll蹴るとかすると、クロスは意外に苦労する。
2018/12/14(金) 08:55:57.55ID:uOUb+NbhM
使いづらいとか関係ないんだよ
工場が使いづらいからって従業員がその工場を使わないなんてあり得ないだろ?
ID:GJ/DAGX40が想像してるのはその工場の中で使われる工作機械(Excelみたいなツール的なアプリ)の開発だろうけど、
実際のシステム開発では工場を作る仕事の方がずっと多いの
2018/12/14(金) 09:08:26.15ID:uOUb+NbhM
学生だと思うけど、仕事でバリバリ使える新しい技術を習得したいならUI技術なんかどうでもいいからAWSを学ぶことを強くお勧めする
伸び続ける需要に対してまともなクラウド技術者(AWSから単なるホスティングサービス以上の価値を引き出せる人)はSI業界では全然足りてなくて、
一通りのプログラミングスキルを備えた上で手を出すなら技術スキルとしては最強よ
2018/12/14(金) 09:54:48.70ID:GJ/DAGX40
業務系で漠然としすぎてるなら、基幹業務アプリと仮定する

>>943-944
Deploymentが心配ならgroup policyで一括でいれちゃえばいいでしょ
ClickOnceよりさらに楽になる

>>944
Deployはすぐ終わるけど、
ブラウザベースにすると社員の生産性が落ちてずっと損失が続くよ
2018/12/14(金) 10:07:13.08ID:GJ/DAGX40
>>947
使いづらいとか関係ないと言っちゃう人は開発者に向いてないんじゃないの
自分はフリーウェア作る時でもどうやったら他人が使いやすくなるかじっくり考えるよ

Excel?工場?
社会人だしASP.net MVCでサイト開発もやってるしDB側も自分でスキーマから作ってる。
受託開発のような立場ではない開発者
2018/12/14(金) 11:20:55.70ID:T5iMn8UB0
まあ普通はWinformsでできることにWPF使わないよね
情報もミドルウェアも豊富だし完全に枯れてるし開発者も簡単に見つかるし
グラボのドライバのトラブルをモロに受けたりしないし

Winformsでは実装が大変なリッチなUIを実現したい場合に初めて検討するんでええと思うわ
レス数が950を超えています。1000を超えると書き込みができなくなります。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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