[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 09/03 07:28 / Filesize : 292 KB / Number-of Response : 1049
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C#, C♯, C#相談室 Part92



1 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 16:46:53.58 ID:op86qfG/.net]
■Visual Studio 2015 Community & Express (無償の統合開発環境)等はこちら
www.visualstudio.com/downloads/

■コードを貼る場合はこちら
ideone.com/

■前スレ
C#, C♯, C#相談室 Part91
echo.2ch.net/test/read.cgi/tech/1467211515/

■次スレは>>970が建てる事。
建てられない場合は他を指定する事。

477 名前:sage mailto:2017/03/10(金) 19:44:07.45 ID:PPM6ZnbB.net [ DotNet CoreでバッサリWebFormsとDataSet切り捨ててくれたから
日本もこれからはMVCとPOCOにシフトしていくだろうね(希望) ]
[ここ壊れてます]

478 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 20:10:01.97 ID:cBCq3F3F.net]
>>445
基本的にはEntityFrameworkで、パフォーマンスほしいとこはDapper

479 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 20:35:03.91 ID:BdCDiQus.net]
dapperって何がいいの?

480 名前:デフォルトの名無しさん mailto:sage [2017/03/10(金) 20:40:29.72 ID:cBCq3F3F.net]
>>462
上にもいろいろ比較出てるけど、とにかく速くて簡単
DBとオブジェクトの最低限のマッピングだけでいい場合はこれで十分

481 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 09:49:08.82 ID:+LwMML+J.net]
動的だけど滅多にソースが更新されないほとんど静的なページのキャッシュってどう扱えばいいんですか?
クライアントにキャッシュさせて更新があった時だけアクセスしてほしいです

482 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 09:53:48.23 ID:h5T3JHpB.net]
>>464
ブラウザーがやってくれるんじゃないか?

483 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 13:46:01.01 ID:SoGUL2Zu.net]
VisualStudio2017お試しで使ってるんだけれど
タプルとか求めていたものが有ったので使おうとしたら
ValueTupleのライブラリが標準で入らずNuGetにしか無いとか
まだ安定しない無いとか何かあるんだろうか・・・
凄い作りかけ感あるコンパイラに仕上がってるwww

使うべきか暫く様子見すべきか?

484 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 13:50:47.46 ID:/3A6iA0R.net]
Windowsのcsc.exeでコンパイル出来ないC#6.0も見送ってるならそうだな

485 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 14:02:34.64 ID:SoGUL2Zu.net]
タプルの利用はしばらく様子見にしとくか・・・何か怪しいし。
ローカル関数いいね、これやる時名前空間が汚れてインテリセンスが腐るから欲しかった
これだけでも移行価値は無くは無いか・・・
IEnumerable<int> Enumerate(int begin, int end)
{
 if (end < begin
  || end < 0
  || begin < 0)
   throw new System.ArgumentOutOfRangeException("ほげぇ");
 IEnumerable<int> Body()
 {
 for (int i = begin; i <= end; ++i)
  yield return i;
 }
 return Body();
}



486 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 14:40:42.15 ID:SoGUL2Zu.net]
ちらちら見ていると、ValueTaskの方はもっと状況が酷いのかなw

www.buildinsider.net/column/iwanaga-nobuyuki/008
言語みたいな基幹部分を小出しにするとか、頭おかしくなってるなw
今までそんな事をした言語の末路がどうなったか知らないわけじゃなかろうに・・・

NuGetにして普通にコードする人には使わせないようにするのは、これはヤバイと中の人が感じているのかもしれんね
マイクロソフトの技術力&組織力低下酷いな、半端に才能ある奴のスタンドプレーでグダクダなってるんだろうな。
Web系に翻弄され過ぎだろ

とりあえず使えそうなのは、ローカル関数と型switchくらいかな
この辺りなら変更あってもダメージ少ないだろうし。

タプルの実装に致命的問題があるならローカルclass&struct&enum宣言でもええんやでぇ
名前空間お腐れ問題はカッコイイ事しなくても、これでも解決するんや > microsoft

487 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 15:24:01.58 ID:SoGUL2Zu.net]
>>218
横だけど、式木はちゃんと言語でサポートしなきゃ誰にも読めない言語になるなと思った。
逆に、それ自体は難解

488 名前:でもないし難しい話じゃないなとも。

プログラムとは違うけれど
3Dモデラーでツリー構造とか法線とか難解な数学概念が見ての通りの操作で動かしたり創れたりするようになって
門外漢の3Dデザイナーが普通に使えるようになったように
一度概念をキッチリ整理する必要があるんだよ、あれは。
そして言語の作りこみがあの頃から甘くなってき始めてたな、ちょっと残念な感じになっていった時代だね。

とりあえず腐り過ぎのWin10をWin7の仕様に戻せや、ストアもユニバーサルアプリも使い物にならん、色使いも糞でUIが見ずらい > microsoft
あと、WindowsUpdateのタイミングはユーザーの自由にさせよ、お前がお前のタイミングで勝手にやったら業務はむちゃくちゃになる。
[]
[ここ壊れてます]

489 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 22:05:54.03 ID:h5T3JHpB.net]
>>466
タプルなんて昔からあるだろ

490 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 22:18:07.78 ID:15EAzLR8.net]
>>471
残念ながら昔からあるTuple<>とは全くの別物
機能的には匿名型にも似ているが、匿名型との互換性もない
ローカル関数なんかも極めて場当たり的なゴミだろ
デリゲートの型を省略できるようにして var func = (int x) => x * 2; と書けた方がずっと便利

491 名前:デフォルトの名無しさん mailto:sage [2017/03/11(土) 22:40:13.41 ID:7U1HyGmG.net]
>>472
いつからここが初心者用になったんだ

492 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 01:14:05.08 ID:+ulIycHH.net]
>>469
https://github.com/dotnet/roslyn/issues/13177
によると、.NET4.7に入れることにしたみたいだね
nugetで済むのに.NETのバージョンを上げるのは面倒が多いし、今後C#のリリース速度を早めるならある程度まとめて.NET4.7にしようって考えじゃないかなぁ

言語機能の小出しについても他の言語と比べれば遅いし、互換性と将来を考えて慎重に作ってるから完全な完成を待つと永遠にリリースできなくなっちゃうし、やむをえんだろ
CLRのバージョンを保ってくれれば文句は無い

493 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 02:13:23.38 ID:lK2SBg8L.net]
List<string> list; があって
そのlistのx番目からy個文字列連結したいのですがLinqでどう書けますか?
x番目から3個なら

var result = $"{list.Skip(x).Take(1).FirstOrDefault()}{list.Skip(x + 1).Take(1).FirstOrDefault()}{list.Skip(x + 2).Take(1).FirstOrDefault()}";

こんな感じですけど短く綺麗にしたいのですが…

494 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 02:33:41.68 ID:tHLqC2EA.net]
>>475
var result = String.Join( "", list.Skip(x).Take(y) );

495 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 05:07:11.99 ID:lK2SBg8L.net]
>>476
わー、短くて綺麗。
ありがとうございました。



496 名前:デフォルトの名無しさん [2017/03/12(日) 06:43:42.92 ID:RIOf9bqD.net]
>>472
>デリゲートの型を省略
できるならとっくにやってるんじゃないかなw
ラムダ式は書けるコードが限定され過ぎるのが問題かな。>>468 はそれではどうやっても書けないでしょう。

497 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 08:53:09.32 ID:bReP5RFT.net]
>>475
自分で理解できねーもん他人に強制するその姿勢がすでにクソ
なんでその処理linqで書いた?
しかも自分は掲示板で質問しなきゃわかんねーのに
さっさと辞めちゃえお前
伸びる目もねーから

498 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 09:23:31.23 ID:7tB+K/sW.net]
何でこの人キレてんの?あの日?

499 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 10:01:53.12 ID:RIOf9bqD.net]
みるからに自演臭くてキモイからじゃねw

500 名前:デフォルトの名無しさん mailto:sage [2017/03/12(日) 10:23:22.36 ID:1QMoXo8Q.net]
ラムダ式自体は型を持たないから、delegate型と決めつけてvar対応するなら専用のルール付けが必要だと思う。
そこまでする価値は無いかな。

501 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 06:11:29.33 ID:o9PLbB2Z.net]
すいません質問なんですが
アプリ起動中はAキーを推すと左クリック Bキーをおすと右クリック Cキーを押すとアプリ終了
みたいな感じでキー入力をマウス入力にいれかえるようなアプリを作りたいんですが
Windows上でフォーカスのあるウインドに依存せずにキー入力を取得するのってどうしたらいいんでしょうか

502 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 06:55:37.31 ID:2GKmTNuX.net]
以前、遠隔ウイルス片山も似た質問していましたね。

503 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 07:01:39.19 ID:WHuP7MmV.net]
フォームのKeyPreviewプロパティをTrueにすると、すべてのキーイベントをまずフォームが受け取り、処理が終了してからフォーカスのあるコントロールに渡されるようになります。

ってdobon.netで見つけた
やったことはない

504 名前:デフォルトの名無しさん mailto:sage [2017/03/13(月) 07:17:17.53 ID:o9PLbB2Z.net]
ありがとうございます
KeyPreviewについて調べてみます

505 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 09:07:02.25 ID:k1u612YY.net]
すみません、EFで質問させて下さい。
下記のようにエンティティを定義して、それを編集するクライアントを作ろうとしています。
とりあえず、Modelに対する編集は無効にしてあるものとします。Unitに変更を加えて保存すると、
DBの中でModelのレコードが増えてしまいます。NameにUnique制約を付けると当然例外が派生します。
Unit.ModelがDbContextの管理外になってしまったので、別のインスタンスとして認識されているという理屈は分かります。
contextを都度作成せずに維持していれば、期待する動作になるのも分かりますが、それはできればしたくはないです。
何か上手い解決方法はないでしょうか?

public class Model
{ public int ModelId {get;set;}
 public string Name {get;set;} ※
}
public class Unit
{ public int UnitId {get;set;}
 public VM Model {get;set;}
 public string Serial {get;set;}
}
List<Unit> GetUnitList()
{ using (var context = ...)
 { return context.units.Include(x => x.model).Select(x => x).ToList(); }
}
void UpdateUnit(Unit unit)
{ using (var context = ...)
 { var target = context.units.Where(x => x.UnitId == unit.UnitId).FirstOrDefault()
  target.Model = unit.Model;
  target.Serial = unit.Serial;
  context.SaveChanges();
 }
}
var list = GetUnitList();
...リスト表示->エディタでunit.Serialを編集
UpdateUnit(unit);



506 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 09:27:37.16 ID:N2+3G59G.net]
>>487
そこまで分かってるなら解決策は簡単。
ModelIdで検索し直す。

507 名前:デフォルトの名無しさん mailto:sage [2017/03/15(水) 11:16:57.42 ID:k1u612YY.net]
>>488
ありがとうございます、すっきりしました。
期待する結果に対してのコストが少々重くなるかなという気はしているのですが、
処理コストが問題になるほどの規模ではないので、そうさせて貰います

508 名前:デフォルトの名無しさん [2017/03/16(木) 03:52:05.80 ID:l+qA2/0G.net]
C#でwebBrowserを使ってるんですが
以下のhtmlをwebBrowser.DocumentTextに突っ込んで表示させたいんですが
何故かwebBrowserではそのままjqueryを読み込むことが
できないようでスクリプトエラーが発生してしまいました
対処方法のわかる方いたら教えていただけますでしょうか?

↓以下のhtml

<!DOCTYPE html>
<head>
<meta charset=""utf8"">
<script src=""https://code.jquery.com/jquery-2.1.4

509 名前:.min.js""></script>
<script type=""text/javascript"">
$(function() {
alert(""test"")
});
</script>
</style>
</head>
<body>
[]
[ここ壊れてます]

510 名前:デフォルトの名無しさん mailto:sage [2017/03/16(木) 11:36:09.87 ID:oyR0ujl0.net]
なんでダブルクォーテーション2つ続いてるの?

511 名前:デフォルトの名無しさん [2017/03/16(木) 16:49:18.07 ID:l+qA2/0G.net]
エスケープです
文字列に突っ込んでるのをそのままコピペしちゃったのでそのようになってます
すいませんがエスケープは無視して考えてください。

512 名前:デフォルトの名無しさん mailto:sage [2017/03/16(木) 16:58:42.52 ID:Qa1xgsfZ.net]
<style>
<head>
<body>

</style>
</head>
</body>


最後のbodyを/スラッシュで括ってないからでは?

513 名前:デフォルトの名無しさん mailto:sage [2017/03/16(木) 17:03:26.21 ID:RyFuDdep.net]
>>493
君は冷静だな

514 名前:デフォルトの名無しさん mailto:sage [2017/03/16(木) 17:05:05.86 ID:Qa1xgsfZ.net]
HTMLソース
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>HTML5サンプル</title>
</head>
<body>
<p>HTML5で作成しました!</p>
</body>
</html>

連投ですまん
もっと解り易いサンプル

515 名前:デフォルトの名無しさん mailto:sage [2017/03/16(木) 18:14:35.84 ID:kQHrflry.net]
WebBrowserがデフォだとIE7モードで動くせいでjquery 2.1.4が動かない
・jquery 1系使う
・headに
<meta http-equiv="X-UA-Compatible" content="IE=edge">
等を書く
・レジストリでモード変更する
好きなのどうぞ



516 名前:デフォルトの名無しさん mailto:sage [2017/03/16(木) 18:38:16.89 ID:RyFuDdep.net]
>>496
君は詳しいな

517 名前:デフォルトの名無しさん mailto:sage [2017/03/16(木) 20:09:32.60 ID:G/L2rMHg.net]
簡単に単体テストできるのか知りたいです

public static async Task DoHeavyAsync(string path, IProgress<long> progress, CancellationToken token)
という非同期メソッドの単体テストで、同期版の DoHeavy() と同様のテスト以外に、

(1) progress が動作していることの確認
(2) token が動作していることの確認

が必要だと思います

(1) が簡単ではない
var progress = new Progress<long>(n => { Assert.Fail(); });
などやっても、テストが成功してしまう(レポートがメソッド終了後に届くため)
まじめにやるとしたら別スレッドを作る必要がありそう?

(2) は、巨大ファイルを使って new CancellationTokenSource(20) などでキャンセルされることを確認という
汚い手法でテストしています(処理速度があがった場合にテストが失敗する可能性があるのが汚い点)

(1)と(2)、それぞれどのようにテストするべきでしょうか? 特に(1)
NUnit を使ってますが、他のフレームワークでもいいです

518 名前:デフォルトの名無しさん mailto:sage [2017/03/16(木) 20:16:08.57 ID:kgKaK9fl.net]
非同期処理の確実なテスト方法は存在しないのでどっかで妥協しなきゃならない

519 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 07:37:50.30 ID:gTyXrRTf.net]
よく分からんな
Taskなんだから結果が出るのを待機すればいいだろ
Progressは呼ばれたらcalledフラグを立てるようにしてそいつでAssetする
タイムアウトが必要かどうかは状況次第

2つめは、内部でFileStreamを使っているならだが
Streamを受け取るインターフェースを追加する
クッソ遅いStreamは自由に再現できる

520 名前:デフォルトの名無しさん [2017/03/17(金) 08:16:11.77 ID:VDcrtJ6N.net]
>>496
ありがとうございます!大変助かりました!

521 名前:デフォルトの名無しさん mailto:sage [2017/03/17(金) 21:11:54.40 ID:G6TjLWRU.net]
>>499
やっぱり妥協かなー

>>500
(2) はなるほどね。作ってみる
(1) なんだけど、Progress.Report() での通知は、タスクを await で待機したとしても、
待機が終わった後でも Action<T> が呼ばれているとは限らない
巨大なタスクを

522 名前:渡して、 Progress.Report() が『たぶん』呼ばれるという妥協が必要かなー

単体テストをパスしたとしても、たまたま運良く Action<T> が先にスケジュールされただけだよ
下記のコードはうちの環境ではテストに失敗してた

public static async Task DoLightAsync(IProgress<long> progress)
{
await Task.Delay(10);
progress.Report(123);
}

[Test]
public async Task DoLightAsyncTest()
{
bool called = false;
await DoLightAsync(new Progress<long>(n => { called = true; }));
Assert.IsTrue(called);
}
[]
[ここ壊れてます]

523 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 00:00:39.16 ID:3lIBsEeS.net]
惜しいところまでは行ってるな

Progressのインスタンスを渡すのではなく
IProgressを継承し同期のReportを実装したクラスのインスタンスを渡す

524 名前:デフォルトの名無しさん mailto:sage [2017/03/18(土) 10:58:29.15 ID:UTVmwL6L.net]
ふむー、こうか
確かに Progress<T> にこだわる必要はなかったなー

public class SynchronousProgress<T> : IProgress<T>
{
private readonly SynchronizationContext _Context;
private readonly Action<T> _Action;

public SynchronousProgress(Action<T> action)
{
_Action = action;
_Context = SynchronizationContext.Current ?? new SynchronizationContext();
}

private void Callback(object state)
{ _Action?.Invoke((T)state); }

public void Report(T value)
{ _Context.Send(Callback, value); }
}

見づらいと思うので一応 pastebin にも貼っておく
pastebin.com/QjF0XkH4

525 名前:デフォルトの名無しさん [2017/03/19(日) 00:14:21.68 ID:xAk2llJg.net]
ファイルのタイムスタンプを指定した時刻に変更したいんですが、コードのヒントをくださいm(_ _)m



526 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 00:19:27.37 ID:8DI2TWvJ.net]
>>505
FileInfo

527 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 00:30:52.74 ID:VKtnwSVx.net]
「ファイルのタイムスタンプ」でグーグル先生に聞けば
www.atmarkit.co.jp/fdotnet/dotnettips/370timestamp/timestamp.html
が一発で出てくるんだけど掲示板で聞く方が面倒じゃないの

528 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 06:34:49.31 ID:bkt1N2YW.net]
検索知らないんでしょ

529 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 13:50:14.09 ID:PWrmpV5o.net]
2chスレへたどり着けるのに検索知らないとかこれ如何に

530 名前:デフォルトの名無しさん [2017/03/19(日) 14:33:00.16 ID:DWsQT7k4.net]
「お前ら、検索頼むわ(丸投げ)」

531 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 14:45:08.30 ID:1DEeFth3.net]
おまいらは回答する機械

532 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 14:53:33.02 ID:VKtnwSVx.net]
まあ調べたら自分の新しい知識になる場合もあるからいいんだけど
この程度の事も検索しないのならコードなんか書けないような

533 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 15:03:19.30 ID:lJcyTqFl.net]
プログラムやる奴らって質問されるとキレながらも答えたい願望あるんだよな
そして煽って議論させるのも好き
だからわざわざ検索しないでここに投げてあげたりする

534 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 15:04:25.29 ID:1DEeFth3.net]
それにしたって餌としてはしょぼすぎる

535 名前:デフォルトの名無しさん [2017/03/19(日) 15:10:14.91 ID:p4p+SSjy.net]
ボランティアを馬鹿にすんじゃねーぞ、コラ!



536 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 16:02:53.06 ID:T5IZ831S.net]
人力検索

537 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 16:06:30.35 ID:z5/tCjGK.net]
>>513
そういうのは初心者向けふらっとの方でやってくれw
あそこなら解決済みでもグダグダ続けたがるのがいっぱいいる

538 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 18:48:36.73 ID:lJcyTqFl.net]
>>517
でも質問してくれないと寂しいんだろ?

539 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 18:52:31.68 ID:bcM43571.net]
くだ質とかVSスレとかこの板で変なやつ増えたよな
本当にプログラムやっているのかって感じの
ここにも来てるのか

540 名前:デフォルトの名無しさん mailto:sage [2017/03/19(日) 21:56:16.72 ID:HC9gBYvT.net]
マ板行けって思うスレ多いよな

541 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 01:44:39.35 ID:SU/B8 ]
[ここ壊れてます]

542 名前:MWa.net mailto: アクセスアップとお小遣い稼ぎの裏技
トラフィックエクスチェンジ
http://tra-chan.jugem.jp/?eid=1
[]
[ここ壊れてます]

543 名前:デフォルトの名無しさん [2017/03/20(月) 10:11:03.85 ID:Afs087wZ.net]
>>520←コイツの馴れ合おうとするレスうざっ

544 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 12:24:29.57 ID:y4a+UdUh.net]
>>522
マ板行け

545 名前:デフォルトの名無しさん [2017/03/20(月) 14:10:48.91 ID:pi/vFj6F.net]
>>523お前が行け



546 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 14:57:32.61 ID:98bjORSB.net]
ここは幼稚園じゃないんだが。

547 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 15:41:51.51 ID:4DDUMBY5.net]
似たようなもんよ

548 名前:デフォルトの名無しさん mailto:sage [2017/03/20(月) 15:48:57.55 ID:LcNjV7jZ.net]
言い争いを見てたら幼稚園児とたいして変わらん気がする

549 名前:デフォルトの名無しさん [2017/03/20(月) 16:00:23.53 ID:pi/vFj6F.net]

いい加減うざいって、お前らずっとスレちがい

550 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 05:52:14.36 ID:SG0A/rfm.net]
ただいま C# 7.0 利用中
ジェネリックのローカル関数まで書けるのにオーバーロードは出来ない事に気づいてがっかりモードになっている件
なぜできんOrz
あと大抵の場合キャプチャは要らないんだけどな・・・
0b1110_1011 とか二進数のリテラル地味に便利w

551 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 06:45:57.61 ID:0zsWCCNl.net]
オーバーロードはクラス外からみて合理的なインターフェイスを提供するためのもので、
内部で使うだけなら紛らわしいだけだろ
オーバーロードが欲しくなるほど長いメソッドを作ること自体が間違ってるし

552 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 14:40:35.20 ID:SG0A/rfm.net]
>>530
そんな事は無いよ、型別にスイッチするくらいならオーバーロード見通しいい

553 名前:デフォルトの名無しさん [2017/03/21(火) 19:18:26.99 ID:bA9h/8/p.net]
似たような処理するのにメソッド2つも要らない
中で分岐させて使え、その方が保守楽だから

って言われたことある。
オマエラも結局中で分岐させてる?

554 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 19:23:26.02 ID:qbQ1Fjub.net]
>>532
時と場合による
何でもかんでも共通部分をまとめようとするのはバカだが

555 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 19:24:42.66 ID:qRIPyX6L.net]
内部の分岐とかどうでもよくね?
似たような処理のメソッドが複数出来る時点で設計からして間違っているだろうし



556 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 19:30:08.87 ID:72kEtT2Q.net]
>>530
利用するかどうかは別にしてわざわざ禁止するほどのことではないよね
ってことだろ

557 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 19:31:27.83 ID:qbQ1Fjub.net]
>>534
ループ中で分岐処理が必要な場合があるので2行目は違うと思う
速度ちょっとでも稼ぎたいと思ったらループの外で分岐させておくだろうし

558 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 19:39:30.55 ID:RrALGwyw.net]
>>532
そういうことするとすぐに分岐が増えて収集がつかなくなる
この業界は既存のコードの権力が強すぎる
一回でもはまるともう最後まで逃れられない
だから最初から妥協せずクリーンな状態を維持し続けるしかない

559 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 19:50:56.44 ID:UqOt5XZ1.net]
だったらなおのこと分岐のが楽だな
実行して見ないとなんの処理が走るか分からないコードにメリットなんて感じない
資料にも書けないしお客さんにも説明できない

560 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 20:14:47.71 ID:7sd4gAxo.net]
>>535
オーバーロードを許すと実装コストは増えるよ
オーバーロードされたメソッドのマングリングってこれまでにやったことないはず
クソ長いメソッドを定義する馬鹿のために無駄な実装コストをかけることは許容できない

561 名前:デフォルトの名無しさん mailto:sage [2017/03/21(火) 23:05:57.08 ID:UqOt5XZ1.net]
マンコリング?

562 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 02:05:33.87 ID:Y ]
[ここ壊れてます]

563 名前:DOC/IGa.net mailto: オーバーロードがないのは多分キャプチャが原因だと思うよ
可能なら多分やってる、というかキャプチャ無しならオーバーロード可能にしてほしい感じ
さらにいうなら、キャプチャ無し指定をして普通のメソッドが単純に名前空間上に合わられないだけにして欲しい。
でもって、ローカル変数と被る名前OKにしてくれれば一番いい。
結局、ローカル関数にした理由はインテリセンスが機能不全になって欲しくないという話なだけだから。
[]
[ここ壊れてます]

564 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 02:11:31.86 ID:YDOC/IGa.net]
なんであんなに変更可能キャプチャが好きなんだろうな・・・
関数型言語のように一度割り当てられたら変更がないことが保証されれば見通し良いし使い勝手も良いけれど
手続き型言語にキャプチャが入ると見通し悪い事この上ないから、可能な限り使わないようにしたい気分になっている。

565 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 11:28:29.87 ID:hks7EAC1.net]
C#の糞拡張はこれからが本番ですよ。



566 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 12:58:18.38 ID:7zaDxJTN.net]
文句あるなら自分で言語作ればいいのに
何で作れない分際で文句言ってるんだか

567 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 13:01:02.87 ID:+8Koiwe2.net]
基地外発想だな

568 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 13:23:33.31 ID:6nIA/xoV.net]
フジテレビ的発想

569 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 13:50:44.67 ID:FLtL2zh7.net]
自分で作れないから文句言ってんだろ
お前も同レベルに頭わるそうだなw

570 名前:デフォルトの名無しさん [2017/03/22(水) 14:47:13.98 ID:T50yqk9Q.net]
>>544
できらぁ!

571 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 15:44:09.05 ID:YDOC/IGa.net]
ValueTuple使ったら、変数見えないデバッグできねぇwwww
まさに作りかけwwwww

572 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 15:45:53.48 ID:YDOC/IGa.net]
>>544
みんなで同じものを使うから意味があるんだよ、一人で勝手に作って勝手にやってたら滅茶苦茶なるだろw

573 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 19:44:37.37 ID:JvcKijZm.net]
ヘジたんも言語なんか開発するのは時間の無駄だからやめなさいと言っていたしな

574 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 20:41:21.23 ID:qEl3ed9E.net]
だれよ

575 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 20:59:39.74 ID:eP+YAd4z.net]
>>549
それ、お前がメクラなだけじゃね?



576 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 21:17:25.63 ID:YDOC/IGa.net]
>>552
Delphiの開発者で、ゲイツ御大にC#のアーキテクトしてボーランドから引き抜かれた人

577 名前:デフォルトの名無しさん mailto:sage [2017/03/22(水) 21:23:40.38 ID:YDOC/IGa.net]
暫く使ってみたけど、やっぱ、ラピッドリリースはよくねぇよな
どんどん品質が落ちていく
誰だよこんな糞な手段はやらした馬鹿は
Windows10もVisualStudioもボロボロやん






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<292KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef