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/04/01(日) 20:25:32.72ID:WEVo4Vkx
文脈読めない、中心になってる話題を理解して枝葉末節を気にしない、っての実践するにもある程度の知能が必要なんだろうなー
そういうの苦手な人ってミーティングの時とか相当鬱陶しがられてると思うから注意したほうがいいよ
2018/04/01(日) 20:28:38.03ID:G1/6VWB7
>>665
これforでローカルに代入してるが値型のつもりなのか?
2018/04/01(日) 20:30:19.04ID:Aa3HndXz
>>673
悪いけど、文脈を読んだら>>665のコードは100人中100人が型++を切り替えようとしてるのだろうと解釈すると思うぞw
2018/04/01(日) 20:35:04.55ID:WEVo4Vkx
>>675
ほらな
読めてない
2018/04/01(日) 20:40:22.21ID:WEVo4Vkx
>>672
ジェネリックかどうかは関係ない話だろ
この例も仮にスクリプト言語だったら型引数は無くても動作する
たまたま型の指定が必要な言語を例に使ったからジェネリックになっているだけ
しかしそのエッセンス自体は何も変わってない
まずはそこを理解しよう
2018/04/01(日) 20:54:39.80ID:G1/6VWB7
>>665を読むとこいつうちにいた新人より頭悪い気がする
ストラテジとか言いながらやってることが関数型だし
これでデザパタのつもりなら学校通い直すのを勧める
2018/04/01(日) 20:55:42.47ID:WEVo4Vkx
ここでいうエッセンスというのは
* 処理の一部を外部から与えることによってアルゴリズムを交換可能にするテクニックをストラテジーパターンと言う
* ストラテジーはしばしばインクリメント処理のように非常に小さな処理になることがある
* その一例が>>631であり>>631馬鹿げたコードでもなんでもなく実用的なコードの断片である
という3点のことな
2018/04/01(日) 20:59:08.51ID:WEVo4Vkx
>>678
λや関数オブジェクトがサポートされる言語では暗黙的にストラテジーの考え方が利用されている
そうと意識してないだけだ
ちょうどいい時期だ上司に頼んでお前も新人研修受けてこい
2018/04/01(日) 21:00:23.18ID:GxluVQTa
何も見せてなければ何とでも言えたろうが、
>>665を見せてしまったらもう無理だな
レベルの低さが露呈してるから言い訳にもならない

正直>>665を見たあとだと>>631が優秀に見えるくらいだし
2018/04/01(日) 21:03:04.23ID:G1/6VWB7
>>680
世間一般的にstrategyというのは>>663の例を指す
お前のは違う
2018/04/01(日) 21:04:15.87ID:WEVo4Vkx
>>682
君は論外なのでまた今度な
2018/04/01(日) 21:11:29.38ID:G1/6VWB7
そもそも関数の細分化は可読性を損ねるって話なのに、
抽象的で省略しまくりの名前付けてる時点でな
設計に口出すのは十年早いと思うわ
2018/04/01(日) 21:17:25.87ID:GxluVQTa
どうでも良いが>>665をよく見るとこいつrefの使い方すら知らないど素人くさいな
値次第でループバグ起こす構造だしこんなコード実務で仕込まれたら俺ならテロ認定する
2018/04/01(日) 21:22:05.92ID:WEVo4Vkx
>>685
>>673
2018/04/01(日) 21:24:13.70ID:GxluVQTa
本気で書いたコード貶されたら

「あれは手抜きだからw」と言い出す

まあリアルにいるよな
2018/04/01(日) 22:24:04.17ID:HDWO3ua8
ミーティングとか言い出して露骨に話題を避けようとしてるの笑える
2018/04/02(月) 09:41:43.90ID:OHYuqcPP
皆Do()にすればええんや
2018/04/04(水) 16:05:17.38ID:h/TS8w43
stringが参照型ってことはさ

string str;
void Reset() => str = "";

とするより

string str;
string None = "";
void Reset() => str = None;

と生成済みのテキストを使い回した方が効率良いの?
2018/04/04(水) 16:35:31.54ID:huLwCiLW
String.Empty
2018/04/04(水) 18:12:04.75ID:v0eOpRGB
str =null;
ってやってたは・・・
2018/04/04(水) 18:30:15.85ID:K+0BZuJc
>>692
null代入するのはC#8.0で警告対象
2018/04/04(水) 20:17:49.55ID:dY0QYfwJ
>>690 変わらないと思われ

string Func0(){return "test";}
string Func1(){return "test";}
string Func2(){return "te"+"st";}
string Func3(){return "TEST".ToLower();}

string a=Func1(), b=Func2();
Console.WriteLine(Object.ReferenceEquals(a,b));
2018/04/04(水) 21:03:49.28ID:jN80m2St
>>694が何を言いたいのかまるで理解できない
2018/04/04(水) 22:46:17.62ID:v0eOpRGB
>>693
非推奨になるのか!
って、C#5.0から変える気が無いけどもw
2018/04/04(水) 22:48:58.58ID:qPaa0JsU
>>690
これILはどっちも一緒の結果にならないのかね
2018/04/04(水) 22:59:51.77ID:T8BktjHU
>>696
またvs2013使ってんの?
2018/04/04(水) 23:47:32.40ID:v0eOpRGB
>>698
Formしか使わないからね
まぁ最近はスマホが多いのもあるけど
2018/04/05(木) 03:02:50.85ID:cEKXRYXO
C#ってどんどん惨くなってねーか。業務じゃもう使えないだろ。
2018/04/05(木) 08:16:57.82ID:G4evJUNh
アメリカではソフトウェアの内製化やクラウド化により、
ソフトウェアは自己責任でどんどんリリースできるようになってるの
自己責任ならデグレ出したらこっそり直してすぐにリリースしちゃえばいいの
SI型ビジネスとは違い、過剰にリスクを避ける必要がない
VSやC#もそういう変化に適応して開発やリリースのポリシーが変わってしまった
もうジャップランドのSIでは使えないよ
2018/04/05(木) 09:34:30.77ID:ywrxikBc
ジャップ式業務かぁ…
2018/04/05(木) 14:08:48.47ID:d442a5v8
>>700
おじいちゃんには無理かな
2018/04/05(木) 14:24:27.07ID:nTjyMSuJ
>>700
具体的にどこがそうなのか教えて
2018/04/05(木) 14:39:36.05ID:9mHHHg+P
リッチテキストボックスでDetectUrlsをTrueにしてハイパーリンクを開けるようにしたんだけど、
ハイパーリンクをクリックして既定のブラウザで開くと、勝手に最終行までジャンプしてしまう。
仕方がないのでEnabledをいったんfalseにして、その後開き、もう一度trueに戻すとジャンプはしなくなったんだけど、
リッチテキストボックスの任意の場所をクリックすると、やっぱり変な場所に表示が移ってしまう。
なんか対策ないでしょうか?
2018/04/05(木) 14:43:10.44ID:L1xJuAmc
>Enabledをいったんfalseにして、その後開き、もう一度trueに戻す
ごめん何言ってるのか全然わからない
2018/04/05(木) 14:44:33.22ID:9mHHHg+P
>>706
すいません、こうです
private void richTextBox1_LinkClicked(object sender, LinkClickedEventArgs e)
{
richTextBox1.Enabled = false;
System.Diagnostics.Process.Start(e.LinkText);
richTextBox1.Enabled = true;
}
2018/04/06(金) 01:34:01.86ID:CRWC4s8a
treeViewのちらつき防止ってどうやるんだろう?
5chブラウザとか、mousemoveでテキストにアンダーラインが出るようにしても全然ちらつかないよね
ダブルバッファでいけるのかと思ったら、treeViewはそれでは解決しないようで・・・
2018/04/06(金) 17:11:38.73ID:YfcQQia/
>>705
ミニマムコード書いて確認しろよ
クリックした位置にカーソル出ないのなら分かるが勝手に最終行までジャンプとか意味不明
あと初心者スレ池
710デフォルトの名無しさん
垢版 |
2018/04/06(金) 19:56:07.03ID:/br3WlRA
>>700
もうここ10年新規案件やってないな。全部Javaに持ってかれたまま。
当然といえば当然だな。老害ヘジの暴走を誰も止めることができなかった。
ID:d442a5v8 ←みたいな低スキル信者の取り巻きばっかなんだろうな。
2018/04/06(金) 20:07:45.08ID:Qe7eZ8vz
CAD系だから低身の見物
流石にJAVAでやれと言われた事は無いな
2018/04/06(金) 20:29:12.80ID:z7q8Sb4V
会社で生産管理ソフト導入したらそれ.netだった
描画はネイティブのDLLに丸投げだったけど
2018/04/06(金) 20:31:28.54ID:z7q8Sb4V
業務で言えばjava : c# = 1000 : 1 ぐらいなイメージ
2018/04/07(土) 07:53:48.13ID:qEuioEYI
業務だと冗長でもいいからバカでも使える単純な機能だけで組まなきゃいけない
三項演算子程度のものも使用禁止
C#とは無縁の世界
2018/04/07(土) 07:59:59.71ID:h+NQtj0i
それだけじゃ足りない
どんな初心者、いろんな人が保守しても長期間にわたって大きく崩さないような土台を建てる必要がある
超絶技法で難解なプログラムを作るよりよほど難しい
2018/04/07(土) 08:48:38.33ID:4H5fCx9/
そして冗長でコピペだらけの巨大なシステムが出来上がって別の意味で保守できなくなるんだろ
業務系ってそんなシステムばっかりじゃん
誰でも読めるようにひらがなだけで六法全書を書く並みにバカ
余計わかりにくくなるだけ
2018/04/07(土) 09:06:01.54ID:JAl7hTiY
それは分かりやすさというより開発のスケーラビリティの問題
日本のSEってトップダウンのコード設計が全くできないから、
開発規模をスケールさせようとすると重複上等でなるべく個別の機能ごとに独立した形にするしかないの
2018/04/07(土) 09:59:33.70ID:4H5fCx9/
重複した分だけ開発・保守工数が増えてくから重複上等じゃスケールしないよ
あっちでバグがあった、仕様が変わった、横展開しろ、って炎上の王道パターンだよね

つかわかりやすさの問題だ
言語機能は便利でわかりやすいから追加された
それを使わないということはそれだけわかりにくくなるということ

ベタなループ書くよりLinqの方がわかりやすいからLinqが発明された
そういうこと
2018/04/07(土) 10:56:32.14ID:BpE5vbQJ
20年以上前から言語機能では勝負してないと思う
そういうのよりミドルウェアの有無などのほうが業務でjavaが選ばれる理由だと思う

一から新しいものを作らないといけないか既存のものを使えるかが分かれ目
業務で必須のDIとかそういうのをしっかり土台ができているのか

c#はそういう所でjavaに負ける
2018/04/07(土) 11:18:40.70ID:9qiuAsep
Javaなんて、Android向けのクライアント開発なければどうなのよ??
今業務でもサーバーサイドJavaなの??
んなわけないよね?
2018/04/07(土) 11:22:17.68ID:BpE5vbQJ
業務系のロジックは大体javaだよ
一般的に開発求人といえばjava

大規模になればなるほどjava以外の選択肢はなくなる
2018/04/07(土) 11:30:53.53ID:e9I+7Iw0
今時ミドルウェアやサービスに大した差はないってのが現実
そもそもプラットフォームや言語を選ぶ時点でそのミドルウェアは候補から外していい

>>720
Javaで書かれたサーバーサイド資産は大部分がメンテナンスモード
新規開発はかなり減ってる
2018/04/07(土) 11:50:32.46ID:BpE5vbQJ
webプログラマーと業務プログラマーは別
業務はほぼjava一択
2018/04/07(土) 12:18:23.05ID:/Jq01ntZ
>>716
ちゃっかり業務系を六法全書に例えるなよw
あれは絵本だぞひらがなが最適なんだよ
2018/04/07(土) 16:44:15.68ID:1YUEtCB1
EXCEL(xls形式)のデータを読み取って何らかの処理を施して別ファイルに書き込みたくてNPOIについて調べてるんだけど
セル内文字列の一部に文字飾り(取り消し線、上付き、下付き)がある場合にどの文字飾りか判定できる方法ってない?(文字飾りを反映させて別ファイルに移すために)
HSSFRichTextStringとして読み取ればnumFormattingRunsが文字飾り有無で文字列を分割した際の部分文字列数となることは分かった
getFontAtIndex、getFontOfFormattingRunで指定箇所の文字飾り情報が分かると思ったんだけどこれで得られる数値が同じ文字飾り種類でもコロコロ変わってよく分からない状態
2018/04/07(土) 16:47:16.96ID:tI04O4km
Javaエンジニア「インスタンスメソッドは難しい。インスタンスを禁止して初心者でも理解できるstaticメソッドを使おう。」

Javaエンジニア「ファイルが沢山あると初心者が混乱する。クラスを禁止してファイルをまとめよう」

Javaエンジニア「関数は初心者には難しい。すべてMainに書こう」
2018/04/07(土) 17:54:25.23ID:EvpDwywp
C#はVBがカスPGカス案件の受け皿になってるお陰で、Javaに比べると平均レベルは高い気がする
というかJavaのスキル幅が広すぎる
2018/04/07(土) 17:58:00.95ID:azDAuSKq
VB.netは何のメリットもないのになんでつかってんだろ?
2018/04/07(土) 18:11:21.85ID:tI04O4km
C#は上級者向けって散々プロパガンダしてきたから自覚のある雑魚がVB.NETに吸収されてくれた
Javaは誰でもウェルカム初心者に最適の言語みたいな空気を出し続けた結果底辺が爆発的に増えて悲惨な事になった
730デフォルトの名無しさん
垢版 |
2018/04/07(土) 18:45:08.89ID:yyzWBMut
(自称)上級者うけるw
2018/04/07(土) 18:49:19.91ID:mS0vp79o
多分VB.netのほうが難しい
少なくとも見づらい
2018/04/07(土) 19:19:56.67ID:TNUh6n8A
>>10
Javaで言うNashornみたいなのあります?
それでjQuery使いたい。
733デフォルトの名無しさん
垢版 |
2018/04/07(土) 19:24:31.38ID:tpM+GlB1
C#勉強してもJavaと違ってほとんど仕事ないんだぞ。
最新機能のコード張ってドヤ顔してる奴は日頃何のコード書いてんだ?
もしかしてアプリは何も作ってない生産性ゼロの無職じゃないのか。
2018/04/07(土) 19:35:14.49ID:Hh6FAb+r
>>733
最新機能のコードってどのレスだよ…
仕事でやっているような奴らがこんなところにこんな内容で書き込んでいたら心底軽蔑するわ
735デフォルトの名無しさん
垢版 |
2018/04/07(土) 19:37:30.15ID:tpM+GlB1
>>734
落ち着けよ。何言ってるか分からん。
日頃から人と話してないからそういう変な日本語になるんだぞ。
2018/04/07(土) 19:40:02.68ID:Hh6FAb+r
>>735
1行目も理解できない人と話できんよ
2018/04/07(土) 19:51:31.58ID:9Vh0SARC
仕事がないなら自分で仕事を作ればいいだけ
仕事が流れてやってくるのを待つだけならプログラマーやらない方がいい
2018/04/07(土) 20:04:41.19ID:tI04O4km
>>733
仕事はあるんだよjavaドカには縁がないだけでさ
2018/04/07(土) 20:06:20.72ID:h+NQtj0i
仕事というのはやれば利益が出るものだ
利益が出ないものは仕事ではない
安い労働力じゃないと利益が出ないのであればそれはすでに仕事じゃないんだ
2018/04/07(土) 20:20:35.28ID:u9S48/PO
マ板でやれよ
趣味グラマには関係ないしローカルルール違反
2018/04/07(土) 20:56:56.83ID:zGiIVV5n
>>733
最新機能のコードwww
2018/04/07(土) 23:05:36.35ID:4VqAUjBC
>>708
ヒマだったから試したけど5chブラウザがどうなっているか知らんけどダブルバッファ設定なしでチラつくように見えないが
https://msdn.microsoft.com/ja-jp/library/system.windows.forms.treeview.hottracking(v=vs.110).aspx
背景付けたらチラつくかもしれないが、それはダブルバッファ設定で解決するはず
2018/04/08(日) 00:23:39.85ID:gtzBS3Pe
C#のnAudioを使用してボイスチェンジャーを自作しようと考えております。
音声データのリアルタイム入出力及び音声データ数の増減によるピッチ変更までは出来ている状況です。
私が今困っているのは音声データ数の増減なしのピッチ変更についてなのですが、どなたかご教示願えませんでしょうか?
また、使用言語がC#のため、こちらの板に書きませていただきましたが、質問内容が不適切であれば、適切な相談する板をご紹介願えませんでしょうか。
以上です。よろしくお願いいたします。
2018/04/08(日) 01:00:22.49ID:lbRazQ8C
直接の回答じゃないけどこんな本でも買ってみるとか
http://amzn.asia/0Wp3Q48
745デフォルトの名無しさん
垢版 |
2018/04/08(日) 09:58:06.18ID:b82WQPaE
なんでMSの期待の星だったC#がたった10年でこれほどマイナー言語になったんだろうな。
やっぱりヘジはマイナーの星の元に生まれたんだな。
2018/04/08(日) 10:09:10.94ID:cdJ9PQKN
C#がマイナーとか、どこの世界で生きてるんだ?
747デフォルトの名無しさん
垢版 |
2018/04/08(日) 10:15:11.44ID:b82WQPaE
昔、Delphi信者に同じこと言われた。
2018/04/08(日) 10:38:02.03ID:CwlNIOae
delphiからc#に移った口だけどずっとc#の地位はひくかったよ
最近は逆に地位が高くてビビる
2018/04/08(日) 10:41:20.87ID:6dvbf3lB
https://www.benfrederickson.com/ranking-programming-languages-by-github-users/

C#は昔から「メジャー言語の中では最弱」という立ち位置をキープしてる印象だなあ
2018/04/08(日) 10:45:52.34ID:CwlNIOae
delphiのころは趣味でdelphiやってるって言ったら
何それクスクスみたいな扱いだった

c#に移ったら移ったで同じような感じでMSが作ったやつでしょ?
MS大すきなんだねクスクスみたいな扱いだった

いつも悔しい思い出いっぱいだった
2018/04/08(日) 10:46:27.90ID:b82WQPaE
昔はマジでC#はVBを消し去ると思ってたが、まさかポンコツJavaにC#が消し去られようとしてるとは。
当時のオレは信者的な変な妄想に駆られてたんだな。
2018/04/08(日) 10:51:10.16ID:CwlNIOae
c#はMSが作ったのに最新技術からは常に距離があって悲しい
win32呼ぶのもDirectX呼ぶのもめんどくさい

slimDXとかNAudioとか使わないといけなかったり意外と何かやりたくてもwindowsとか親和性が低い
2018/04/08(日) 10:58:39.32ID:mZcB9gNZ
ほんと、MicrosoftはC#からWin32API呼ぶライブラリぐらい全部用意しろよなと思う。
2018/04/08(日) 11:01:37.05ID:ALJFTiiT
大衆の大半はものを知らんバカって構図はシステム開発業界も政治もおなじだな

初心者向けという宣伝文句に騙されて初心者がJavaに食いつく
初心者で水増しされたシェアを根拠に考えないバカがJavaを採用する
だから初心者とバカしか居ないんだよJava案件って

発注する方も人数ばかり多くてろくな人材がいないってわかってる
だから優秀な人材がやりたがらない、やる価値の低い、とりあえず頭数揃えてデスマゴリ押しすればなんとかなるタイプの土方案件を押し付けるために大量に発注する
だからJavaの案件は多い

その辺の事情が統計に表れてるんだろうな
こういう考察ができずに数字取ってるってだけではしゃいじゃうのがまたJava土方らしくて微笑ましい
2018/04/08(日) 11:09:03.68ID:CwlNIOae
>>754
妄想はいいからw
javaはc#が出てくる前から地位を確保しててc#はそれに食い込めなかっただけだ
似てたからあえてc#は選ばれなかった
javaとc#が似てなくてc#に大きな強みがあれば事態は変わってた

javaはOS選ばなかったので柔軟に環境を構築できた
c#にはそれが無理だった
勝負にならない
2018/04/08(日) 11:11:36.02ID:b82WQPaE
>>755
おまえの妄想も負けてないな
2018/04/08(日) 11:13:10.79ID:D3gITJpj
monoが広まるきっかけだったのに阿呆が潰した
2018/04/08(日) 11:15:25.14ID:CwlNIOae
ちょっと前までc#を選ぶ場合別途windowsが必要だった
サーバー群にそこだけwindows入れたら技術者が二系統いるんだからコストアップでしかない
2018/04/08(日) 11:18:39.12ID:MOyn8Ftm
文系でも未経験でも誰でもプログラマーになれます!系の企業でとりあえず教えるのがJavaだからなあ
2018/04/08(日) 11:20:37.51ID:CwlNIOae
>>759
当たり前だろ
ずっとjavaで仕事するんだから
2018/04/08(日) 11:24:03.94ID:ALJFTiiT
楽で価値ある仕事につけないかわいそうなJava土方さん
2018/04/08(日) 11:36:33.75ID:6R1G24Uu
何を勘違いしてるのか知らないが、そもそも仕事でC#やってる奴でC#しかできない奴なんかまずいないぞ?
今C#の仕事があるからC#使ってるだけだ
2018/04/08(日) 11:37:09.40ID:CwlNIOae
javaとc#は対立軸にあるとは思わない

javaはソフトウェア開発の実用実践的な方面で発達しててその恩恵をc#もこうむってる
javaのOSSをc#に移植したものがたくさんある
c#が弱い分野もそうやってなんとか保ってる

宗教的な理由で多言語を叩くのはみっともないし自分の首を絞めてる
どの言語よりjavaはc#に似てるんだから
2018/04/08(日) 11:46:38.92ID:6R1G24Uu
よく分からん奴だなあ
プラットフォームから自分で選べる場合は俺もLinux使うし、すぐに引き継ぐ必要があるなら言語はJavaを選ぶよ
言語も好きに選べるならNodeやPython使ったこともある
C#はWin縛りがある場合だけだね
言語なんか何でもできて当たり前だろ
765デフォルトの名無しさん
垢版 |
2018/04/08(日) 12:26:30.88ID:vVKm0lu4
言語なんか何でもできて当たり前系初心者w
この時期よくいるなw
2018/04/08(日) 12:51:11.68ID:IdsKnaEw
>>765はc#とvbaしか使えないもんね…
2018/04/08(日) 13:57:58.53ID:IL0VWZvl
C#が最強すぎて雑魚が沸いてるようだね。大人しくC#勉強すればいいのに(笑)
2018/04/08(日) 15:50:39.99ID:X66l6uUF
最近のC#プログラマはUnityでゲーム作りながら覚えた人も多いんじゃないかな
自分も元々はC++で、趣味でUnity覚えた後にVC#に移行したタイプだし
2018/04/08(日) 16:28:01.91ID:UFgQZ3GV
C#最強!残りは全部雑魚!
先輩超カッコいいっす
2018/04/08(日) 17:13:03.51ID:mE+8rAwy
自分が作ったわけじゃないじゃん
2018/04/08(日) 17:40:28.74ID:lPpPZ5Su
ふらっとにワッチョイ付いたからゴミがこっちに流れてきたか
2018/04/08(日) 19:02:11.44ID:GoOLzpCW
ワッチョイあるとNGが一週間持ってしまうからな
NGされることに耐えられない奴にはツラい
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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