◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

ふらっと C#,C♯,C#(初心者用) Part134 ->画像>8枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1511872248/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1デフォルトの名無しさん
2017/11/28(火) 21:30:48.55ID:7U+HR4FY
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part133
http://2chb.net/r/tech/1510056685/

■関連スレ
C#, C♯, C#相談室 Part95
http://2chb.net/r/tech/1508180530/

■コードを貼る場合は↓を使いましょう。
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
2デフォルトの名無しさん
2017/11/28(火) 21:31:16.08ID:7U+HR4FY
(*゚∀゚)v2get!
3デフォルトの名無しさん
2017/11/28(火) 21:33:19.34ID:1gCYrVqG
いちおつ
4デフォルトの名無しさん
2017/11/29(水) 12:38:24.28ID:+8Yov6n2
調子にのって式形式の略記しまくったら=>まみれになったでござる
5デフォルトの名無しさん
2017/11/29(水) 12:56:15.86ID:Z0yAcQLL
using dispose は便利な機能だが実装の闇が深くて台無し。魔剣ダイナシ。
6デフォルトの名無しさん
2017/11/29(水) 12:57:31.62ID:D2tE8Z4y
とVB6おじさんが申しております
7デフォルトの名無しさん
2017/11/29(水) 12:58:28.27ID:VYTpT9vM
>>5
8デフォルトの名無しさん
2017/11/29(水) 13:06:25.32ID:VdtxEj+u
SQL鯖へのConnectionもUsingの中に入れちゃっていいのかな?

昔は最初にConnection開いて、ずっと開きっぱなしの中で処理して、最後にCloseすることが多かったけど
不安定な接続(スリープで回線断)やミラーリングサーバーを考慮すると、いちいちOpen/Closeしたほうがいい。

だけど、usingの中に入れることで、いちいちDisposeされたら
接続キャッシュが機能せずに体感速度が落ちる、って風になる?
9デフォルトの名無しさん
2017/11/29(水) 13:44:13.05ID:oopkzTyn
接続管理はコネクションプーリングに任せてプログラム上は最短でOpen-Close
10デフォルトの名無しさん
2017/11/29(水) 13:46:22.65ID:VYTpT9vM
>>8
SQL鯖でusing多用はいかん
try/finally使ってopen/closeしとけ
速度はopenしっぱなしとほぼ変わらん
11デフォルトの名無しさん
2017/11/29(水) 13:57:37.88ID:rMr3voC1
>>8
それ別の人がアクセスしても大丈夫なの?
12デフォルトの名無しさん
2017/11/29(水) 14:00:58.53ID:VYTpT9vM
>>11
キミ以外なら
13デフォルトの名無しさん
2017/11/29(水) 15:09:14.71ID:TUoM6+wa
>>10
それdisposeと一緒やん。
ってか、disposeじゃん。

なにいってんの?
14デフォルトの名無しさん
2017/11/29(水) 15:12:27.07ID:TUoM6+wa
>>13
disposeじゃねぇ。usingだわ。まちげーた
15デフォルトの名無しさん
2017/11/29(水) 15:37:12.11ID:VYTpT9vM
>>13
disposeしてないよ

何言ってんの?
16デフォルトの名無しさん
2017/11/29(水) 15:59:59.48ID:TUoM6+wa
>>15
やってることが、using使ったdisposeと等価なんだけど。

usingはtry/finalyの糖衣構文
(sql鯖のコネクションについては)closeとdisposeは等価

何か違いがあんの?
17デフォルトの名無しさん
2017/11/29(水) 16:18:48.57ID:VdtxEj+u
var SqlConn = new System.Data.SqlClient.SqlConnection(xxxx);

という感じの宣言は try/finaly の外でやっておいて
open/close は try/finaly の中でやる

って意味で書いたと思ってたけど、そうだよね?
18デフォルトの名無しさん
2017/11/29(水) 16:32:53.30ID:VYTpT9vM
>>16
msdnのSqlConnectionメソッドの
closeとdisposeの説明をちゃんと嫁
19デフォルトの名無しさん
2017/11/29(水) 16:35:00.95ID:6MTOjDOv
インターフェースおじさんの話は聞かなくていい
20デフォルトの名無しさん
2017/11/29(水) 16:42:07.66ID:VYTpT9vM
>>19
おじさん?
アフォな専門学校の生徒かと思ったわw

放置プレイしま~す
21デフォルトの名無しさん
2017/11/29(水) 16:58:19.20ID:oopkzTyn
SqlConnectionメソッドってのはちょっと分からなかったけど
SqlConnection.Closeにはこう書かれてるな
> SqlConnection は、適用範囲外では閉じられません。
> そのため、Close または Dispose を呼び出して、明示的に接続を閉じる必要があります。
> Close と Dispose は、機能的に同じです。

DisposeはComponent.Disposeに飛ばされたから
そもそもSqlConnection.Disposeのページが存在しない
22デフォルトの名無しさん
2017/11/29(水) 17:08:15.43ID:TUoM6+wa
>>18
msdnに機能的に等価って書いてあるんだけど、なに読めば良いの?

>>17
try/finalyの外で宣言した変数を使い回すってこと?

usingを抜けなければ、disposeは走らないから、一度開いた同一の接続を使い回すのであればusingの中で、接続(open)を複数回するのであれば、個別の変数を切り直した方が良いと思うよ?
前提が違ってたらごめんね。
23デフォルトの名無しさん
2017/11/29(水) 17:14:21.18ID:rMr3voC1
アプリは生きててDBだけリセットかけたらもう一回接続しないと駄目?
なんかアクセス毎に開いて閉じて入れておかないと面倒な感じじゃね?
24デフォルトの名無しさん
2017/11/29(水) 17:26:22.28ID:+8Yov6n2
最近はMicrosoftDocsに飛ばされるね、MSDNもあるけど英語がメイン
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/using-statement

ついこないだIDisposable実装したけど、これまたクイックアクションで親切すぎるコメントつきテンプレが流し込まれる
25デフォルトの名無しさん
2017/11/29(水) 17:58:34.09ID:Ypog5BGe
iPhoneのキーボードのこれふらっと C#,C♯,C#(初心者用) Part134 	->画像>8枚 はプログラム書くときのダブルクォーテーションとは違うんだな。ideoneでなぜかエラーが出たので気づいた。
ふらっと C#,C♯,C#(初心者用) Part134 	->画像>8枚 これだと使える。

英字キーボードのやつ “””””””””””
ABCのほう """""""""""
26デフォルトの名無しさん
2017/11/29(水) 18:05:53.37ID:Ypog5BGe
長押ししたらこんなん出てきたわ
ふらっと C#,C♯,C#(初心者用) Part134 	->画像>8枚
27デフォルトの名無しさん
2017/11/29(水) 18:05:59.40ID:gShtlFNM
>>20
間違いは認めてから逃げようね
28デフォルトの名無しさん
2017/11/29(水) 18:10:42.78ID:AGN3a9rD
>>25
C#と関係無いけど、この業界にはよくある事
U+301CとU+FF5Eの違いとかな
29デフォルトの名無しさん
2017/11/29(水) 18:27:36.17ID:NSRWkE4O
ソフトウェアキーボードでコード書くとか苦行過ぎるw
30デフォルトの名無しさん
2017/11/29(水) 18:28:48.92ID:Ypog5BGe
ideoneでちょっとした動作を試したりするときだけだな
31デフォルトの名無しさん
2017/11/29(水) 19:16:09.42ID:Xxg0LpBt
明日屁湧いてるなw
32デフォルトの名無しさん
2017/11/29(水) 20:50:56.63ID:MDGjrLn/
C#ってmalloc・calloc・realloc的なかんすえはありますか?
全部自動?
33デフォルトの名無しさん
2017/11/29(水) 20:53:11.64ID:bodUKsOx
>>32
基本的には出来ないし自動だけどunsafeコンテクスト内なら可能
http://ufcpp.net/study/csharp/sp_unsafe.html
34デフォルトの名無しさん
2017/11/29(水) 21:01:58.77ID:MDGjrLn/
>>33
バッファの確保できるんだ
ありがとう
35デフォルトの名無しさん
2017/11/29(水) 21:17:10.66ID:W1Zobeto
いやmalloc的なのは普通の配列のnewかMarshal.AllocHGlobalだろ
36デフォルトの名無しさん
2017/11/29(水) 21:41:03.14ID:GyXUhAN/
ただいま勉強中なのですが、↓のようなコードの設計、ネーミングその他は適切でしょうか?
身近に現役プログラマーの方がいないためいろいろと聞けないのが現状です。
なんでも指摘してくださると助かります。

public static class DirectoryUtils{
public static string ErrorMessage { get; private set; } = null;
public static bool DeleteFiles(string directoryPath) {
if (!Directory.Exists(directoryPath)){
ErrorMessage = "ディレクトリが存在しません";
return false;
}
try {
foreach (var file in Directory.GetFiles(directoryPath)){
File.Delete(file);
}
}catch (Exception exc){
ErrorMessage = exc.Message;
return false;
}
return true;
}
}
使う側
var success = DirectoryUtils.DeleteFiles(directoryPath);
if (!success){
MessageBox.Show(DirectoryUtils.ErrorMessage);
return;
}

//総変換数を求める
var totalNumber = GetNumberOfTotalConverting()
//Converting,Conversion,All,Total,Number,Count等々、悩んでいます
37デフォルトの名無しさん
2017/11/29(水) 21:57:07.61ID:4/Kw2onf
自分だったら
public class DeleteFilesResult
{
public string ErrorMessage { get; set; }
public bool Success { get; set; }
}
みたいなクラス作ってそれを結果として返すかな
38デフォルトの名無しさん
2017/11/29(水) 21:59:38.11ID:bodUKsOx
マジでぇ??
39デフォルトの名無しさん
2017/11/29(水) 22:03:52.52ID:3MYeHM6X
>>36
エラーならエラー文字列返して、正常なら空文字かnull返すのが素直じゃないかな?
40デフォルトの名無しさん
2017/11/29(水) 22:10:55.88ID:KZMpS2G2
successならsucceededとかじゃないの
もしくは構造体なりで
if (result == RESULT.OK)
とか
41デフォルトの名無しさん
2017/11/29(水) 22:14:46.71ID:fgyKG67K
さっそくでたな

try catchはDeleteFilesメソッドの中じゃなくて
外で使うべき
42デフォルトの名無しさん
2017/11/29(水) 22:31:52.96ID:NSRWkE4O
>>36
静的メンバーにエラー情報を持たせるのは時代錯誤で論外。
エラー情報は普通に例外を投げようよ。

単に失敗成功が分かってエラーメッセージが取得できればよいだけなら、
エラーメッセージはoutな引数で戻せばいい

あと、一つのファイルの削除に失敗した時点で処理中断する仕様でいいの?
失敗しても継続する方が自然なような気もするけど...

DeleteFilesより明示的にDeleteAllFiilesの方がいいんじゃないか?
GetNumberOfTotalConvertingは長すぎ
それを含むクラスに適切な名前がついてればそんな冗長な名前にする必要ないでしょ
43デフォルトの名無しさん
2017/11/29(水) 22:32:46.18ID:JM2ObBa0
>>41
以前暴れていた
CsvHelper例外で落ちるな糞野郎くんだろう
44デフォルトの名無しさん
2017/11/29(水) 22:33:52.93ID:fgyKG67K
DeleteFiles内部でtry catch受けていいのは
そのファイルをスキップして残りを消す場合など
45デフォルトの名無しさん
2017/11/29(水) 22:34:19.89ID:fgyKG67K
>>43
人違いだわw
46デフォルトの名無しさん
2017/11/29(水) 22:38:45.34ID:fgyKG67K
例外が飛んでそれをもとに制御が変わるなら
適切なtry catchの場所を考えるべき
47デフォルトの名無しさん
2017/11/29(水) 22:42:39.35ID:NSRWkE4O
あと、例外についてはとにかく何でもキャッチしたがる人と、
それに対するアンチテーゼで「例外は絶対キャッチするな」と主張する人がいるけど、
どっちも何か盛大に勘違いしてる極論だから眉唾で聞いた方がいいと思う
48デフォルトの名無しさん
2017/11/29(水) 22:45:33.13ID:fgyKG67K
そうだね

例外利用するならFile.Deleteのページを見て
どんな例外をスローするか調べたほうがいい

権限無くて削除できないとかあるから
49デフォルトの名無しさん
2017/11/29(水) 22:48:25.13ID:rMr3voC1
・ω・Exception
50デフォルトの名無しさん
2017/11/29(水) 22:54:19.77ID:+8Yov6n2
頻繁な例外を想定するならロギングで出力した方がいいよ
エラーを毎回表示なんて非現実的だし無視してOK連打したら意味ないでしょ
それよりタイムスタンプつけてテキストファイルに保存した方が後から照会できる

問い合わせの多くは、何もしてないのに突然おかしくなった、というやつばかり
そういう時はログフォルダをzipで圧縮して添付してもらおうというわけ
51デフォルトの名無しさん
2017/11/29(水) 22:57:51.57ID:fgyKG67K
状況が許すならDirectory.Delete (string path , bool recursive)を使いたい
52デフォルトの名無しさん
2017/11/29(水) 23:02:36.65ID:JM2ObBa0
>>45
人違いなのに丁寧にレスありがとww
53デフォルトの名無しさん
2017/11/29(水) 23:02:52.52ID:JGmUTbhc
>>36
同じく静的メンバにエラー状態持たせるのは論外だけど
どうしてもやりたいなら成功時にそれをクリアしないとダメ

bool返すよりoptionalみたいなのを返すのがモダン
54デフォルトの名無しさん
2017/11/29(水) 23:03:14.96ID:fgyKG67K
そのフォルダが相手のミスでリードオンリーにされた場合は例外情報が全部死ぬけどな
55デフォルトの名無しさん
2017/11/29(水) 23:12:59.73ID:GyXUhAN/
>>36です
こんなにレスがつくとは思いませんでした。みなさんありがとうございます。
①結果を格納するクラスを作成し、それを返し、参照する
②エラー文字列を返す
③例外を投げるかoutな引数で戻す
どれもそういった発想が無かったので勉強になります。
ちなみにoutを使う場合はtupleを使って2つ返すのもありですか?

>静的メンバーにエラー情報を持たせるのは時代錯誤で論外。
こういう風に指摘されるともっともっと勉強しようと励みになります。ありがとうございます。

>あと、一つのファイルの削除に失敗した時点で処理中断する仕様でいいの?
>失敗しても継続する方が自然なような気もするけど...
たしかに処理の中断をするまでもないですね

例外処理についてはメソッドを呼ぶたびにtry catchを書くのが冗長という理由だけで中にいれてました。
制御が変わるかなど考慮すべきでした

optionalや>もしくは構造体なりでif (result == RESULT.OK) 
などまだまだ理解できない部分が多いので調べてきます
56デフォルトの名無しさん
2017/11/29(水) 23:21:16.55ID:GyXUhAN/
>>50
予期せぬ例外は
https://qiita.com/exliko/items/42715a0c9fd7519eb6d9
このような感じでログファイルに出力するようにしていたのですが、
たしかにエラー毎回表示も微妙なので、もっとログをとっていくようにしていきます
57デフォルトの名無しさん
2017/11/29(水) 23:30:30.87ID:GyXUhAN/
>>47 >>48
例外が起きた際、個々の例外によって制御を変える場合は個別に書いて、
MessageやStackTraceをロギングして終了するだけの場合はExceptionですべて捕捉する感じですか?
当初はIOException,UnauthorizedAccessExceptionなど書いていたのですが、
結局Messageしか使っていなかったので全ての例外を捕捉するようにしていました。
58デフォルトの名無しさん
2017/11/29(水) 23:36:03.91ID:pRhcAUD9
Directory.GetFilesはファイルを全部探してから配列でそれを返すので色々と無駄
列挙するだけならDirectory.EnumerateFiles
59デフォルトの名無しさん
2017/11/29(水) 23:48:45.63ID:GyXUhAN/
>>58
直しました。ありがとうございます。
60デフォルトの名無しさん
2017/11/30(木) 00:47:19.32ID:HGFQxRVI
教えてもらったことにお礼を言うのはいいとして変える必要があったのだろうか
61デフォルトの名無しさん
2017/11/30(木) 00:53:26.33ID:3e4JD2ht
>>55
Tupleでいいけどちゃんと名前付けてね
もしvs使ってるならコード分析かけてみれば?
静的メンバーの公開とかは警告で教えてくれたはず
62デフォルトの名無しさん
2017/11/30(木) 02:34:13.97ID:XJSgowiz
>>57
基本的に例外を避けたい理由がなければ例外を使えば良い

ロギングしてアプリを終了するならExceptionでcatch
復帰可能のは個別に対処(ディレクトリが見つからない場合は再入力を求めるなど)
63デフォルトの名無しさん
2017/11/30(木) 08:10:34.13ID:fzw2ErB1
>>55
outはもはや要らない子
名前付Tuple使っとけ
64デフォルトの名無しさん
2017/11/30(木) 09:21:54.56ID:BGl9IyNc
Tupleってエラーの場合何を返すの?
65デフォルトの名無しさん
2017/11/30(木) 09:22:06.99ID:y7Hhz8p2
トプル
66デフォルトの名無しさん
2017/11/30(木) 09:40:45.12ID:BGl9IyNc
bool ok,int unkor,int unkog,int unkob

var unkc = GetUnkoColor();
if(unkc.ok){
成功
}else{
失敗
}

みたいな?
67デフォルトの名無しさん
2017/11/30(木) 09:41:02.83ID:kZZqjgS1
Exception
68デフォルトの名無しさん
2017/11/30(木) 09:47:18.95ID:saSKapUF
また、Exceptionが不遇な扱いを受けている
哀れすぎて何も言えねえ
69デフォルトの名無しさん
2017/11/30(木) 09:48:16.44ID:BGl9IyNc
また、大して考えず産廃を作った予感
言語開発者暇なのか?
Getしようとしたけど要素がないときもあるじゃん
全部例外で飛ばされるとかマジやめて
70デフォルトの名無しさん
2017/11/30(木) 09:59:17.09ID:saSKapUF
釈尊はnullは「無」であると説かれた
ナムー
71デフォルトの名無しさん
2017/11/30(木) 11:21:23.77ID:ptf/uzH7
例外が邪魔とかoutイラナイわめいてるのは大抵Dictonaryでしょ
連想配列は銀の弾丸ではない、期待しすぎ
72デフォルトの名無しさん
2017/11/30(木) 11:29:17.22ID:tR5Ha3BP
>>63
>outはもはや要らない子
これは嘘
73デフォルトの名無しさん
2017/11/30(木) 11:31:00.67ID:zWPBp6sP
>>66
タプル知らないの?
74デフォルトの名無しさん
2017/11/30(木) 11:53:07.37ID:ZqSZg82x
>>73
nullっぽく使えるのある?
75デフォルトの名無しさん
2017/11/30(木) 12:25:17.12ID:EK0LYHwo
今はout引数で変数宣言できるようになったからかなりスマートになった
むしろタプルの必要性が疑問なくらい
TryGetXならnull問題もないし
76デフォルトの名無しさん
2017/11/30(木) 12:26:38.17ID:rx1MFcR/
何が返されるか分かりにくいじゃん
タプルで返して分割代入すればいい
77デフォルトの名無しさん
2017/11/30(木) 12:29:50.89ID:FnXA8j5a
タプルだったらわかりやすくなる例が思いつかんが
78デフォルトの名無しさん
2017/11/30(木) 12:34:03.03ID:rx1MFcR/
そもそもタプルいらん
79デフォルトの名無しさん
2017/11/30(木) 12:47:20.27ID:h6W3uA8y
>>78
訳:新しいことを覚える気力がない
80デフォルトの名無しさん
2017/11/30(木) 12:51:45.93ID:Puu3loId
outでもクラスでも構造体でもタプルでも好きなもの使えばいいよ
>>78
いらんというお前のレスがいらん
チラシに書いとけ
81デフォルトの名無しさん
2017/11/30(木) 12:52:07.78ID:1mMbqqg+
分散どうやって出すの?
82デフォルトの名無しさん
2017/11/30(木) 12:54:30.58ID:rx1MFcR/
>>81
http://whoopsidaisies.hatenablog.com/entry/2013/11/30/175613
83デフォルトの名無しさん
2017/11/30(木) 12:56:35.10ID:SRRUekt+
MS的にはXOrDefaultじゃないの
84デフォルトの名無しさん
2017/11/30(木) 13:04:29.34ID:rx1MFcR/
>>79
.NETライブラリでも使われてないしな
85デフォルトの名無しさん
2017/11/30(木) 13:15:30.72ID:RhI3AKYT
outって呼び出す時に一々変数を定義しなきゃいけないのが面倒
Tupleは戻り値が分かりづらいって欠点がある
どちらも一長一短だから好きな方を使えばいい

.NETライブラリが使ってないから使わないって思考停止すぎんだろ
86デフォルトの名無しさん
2017/11/30(木) 13:19:26.22ID:rx1MFcR/
公認じゃない感あるし.NETの関数とマッチしないからな
87デフォルトの名無しさん
2017/11/30(木) 13:21:37.72ID:FnXA8j5a
クラス作ろうぜ
88デフォルトの名無しさん
2017/11/30(木) 13:26:10.35ID:rx1MFcR/
>>81
自分で書いてみた。
https://ideone.com/0fyIQN
89デフォルトの名無しさん
2017/11/30(木) 13:26:15.27ID:RhI3AKYT
それが一番修正とか楽だしな
クラスは正義
90デフォルトの名無しさん
2017/11/30(木) 13:26:30.06ID:rx1MFcR/
そうそう、クラスでやれってことな。
91デフォルトの名無しさん
2017/11/30(木) 13:35:54.67ID:rx1MFcR/
Average関数もあったんだな
https://ideone.com/0fyIQN
92デフォルトの名無しさん
2017/11/30(木) 13:39:45.69ID:rx1MFcR/
>>88>>91は連動してて同じになっとるわ。
93デフォルトの名無しさん
2017/11/30(木) 13:42:28.63ID:OCgtcJe/
c#が気に入らなきゃMatzみたいにオレオレ言語作れよ
94デフォルトの名無しさん
2017/11/30(木) 14:01:20.98ID:2bRo+qFI
時間帯によってgpuの色味をコントロールするソフトを作りたいです
具体的にはf.luxみたいなソフトを作りたいのですが、かんたんですか?C#でいいんです?
f.luxはガンマ?が高目に設定されるようで、余計眩しく感じたりします
95デフォルトの名無しさん
2017/11/30(木) 14:06:23.80ID:rx1MFcR/
Windows10のナイトモードでいいよ。
96デフォルトの名無しさん
2017/11/30(木) 14:08:43.36ID:2bRo+qFI
時間帯によって徐々に変わるようにしたいのですが
97デフォルトの名無しさん
2017/11/30(木) 14:18:40.16ID:rx1MFcR/
グラフィックドライバの設定を変えるプログラム書けばいいんじゃね?知らんけど。
https://software.intel.com/en-us/forums/developing-games-and-graphics-on-intel/topic/607388
98デフォルトの名無しさん
2017/11/30(木) 18:39:49.21ID:yjKo9V4L
>>94
たまに似たような人がいるけど仕様段階で先が見えないくらいならあきらめた方がいい
このスレは設計のアドバイスをする役割ではないから
99デフォルトの名無しさん
2017/11/30(木) 18:42:54.90ID:FnXA8j5a
実装のアドバイスもできないけどね
100デフォルトの名無しさん
2017/11/30(木) 19:06:36.32ID:YyeHHjlB
画面関係ってOSのAPIレベルで標準化されてるのかな。
Win10だとそれっぽい機能がついてるから存在するのかもしれんが、それ以前のOSには存在しない気が

そもそも、昔よくあったOOPの責務の仕分け問題じゃないけど、画面の調整機能って
本来はモニター側が担当すべき機能でPC側でやるのはいかにも筋悪だよねw
101デフォルトの名無しさん
2017/11/30(木) 19:07:49.09ID:WwTER4eR
>>99
お前はな
102デフォルトの名無しさん
2017/11/30(木) 19:09:36.21ID:Wh6PhrD2
スキルの無いやつほど難しい事をやりたがる法則
103デフォルトの名無しさん
2017/11/30(木) 19:19:51.31ID:qd73bvGb
まあ、でも、一人も試みるやついないってのも寂しい話だ
104デフォルトの名無しさん
2017/11/30(木) 20:49:28.87ID:yjKo9V4L
>>100
アドベガンマが昔からあるのでアプリケーションで変えることはできる
スレ違いだし興味も無いのでこれ以上調べる気にもならない
>>103
やりたい人はやればいい
要件整理からはじめてガチ初心者にずっと教えるのが覚悟できれば
105デフォルトの名無しさん
2017/11/30(木) 21:15:26.66ID:ZsTPl3HQ
>>85
c#7の新機能に出力変数宣言(out-var)がある。
これはこれで変数宣言を見落としそうだけど。
106デフォルトの名無しさん
2017/11/30(木) 22:31:01.31ID:kZZqjgS1
>>102
賢者は困難を知り愚者は不可能を知らず
107デフォルトの名無しさん
2017/11/30(木) 22:54:46.88ID:uf+KIpfb
>>106
愚者は厚顔無恥あり正しい事を指摘するとキレる
108デフォルトの名無しさん
2017/11/30(木) 22:57:13.50ID:lpDomEoB
クッサ
109デフォルトの名無しさん
2017/11/30(木) 23:04:10.82ID:dLltLXuH
値渡しと参照渡しの違いって、エクセルの貼り付けの「値のみ貼り付け」と「すべて貼り付け」みたいなもんですか?
110デフォルトの名無しさん
2017/11/30(木) 23:15:31.56ID:wfb+bzow
「図として貼り付け」と「リンクした図として貼り付け」の方が近いかな
111デフォルトの名無しさん
2017/11/30(木) 23:45:15.41ID:dLltLXuH
>>110
なるほど。そこまで外れてなかったようで安心しました。
112デフォルトの名無しさん
2017/11/30(木) 23:46:11.61ID:YyeHHjlB
>>109
変数:割り当てられたメモリー上の特定のアドレス範囲
値:変数の中身(変数に割り当てられたメモリーの範囲のバイト列)
参照:変数に割り当てられたメモリーの範囲の開始アドレス

まあ、値がwebページのコンテンツなら参照はそのURIみたいなもの
113デフォルトの名無しさん
2017/12/01(金) 00:04:00.62ID:euIX7D1U
>>112
値をコピーする際にアドレスをよりどころにしているのが参照渡しということですね。
なんとなくイメージはわかるのですがなかなか。
114デフォルトの名無しさん
2017/12/01(金) 00:20:18.07ID:g1uYteJH
>>113
何も難しくないよw

2chで言えば参照渡しは人(メソッド)に対してレスのアンカーを示すだけで
中身は教えない。

値渡しはレスの内容のコピペ

参照渡し:
>>113

値渡し:
値をコピーする際にアドレスをよりどころにしているのが参照渡しということですね。
なんとなくイメージはわかるのですがなかなか。
115デフォルトの名無しさん
2017/12/01(金) 09:09:10.01ID:0aG9Yubt
C#の次期バージョンではin参照渡しとかreadonly ref structとか参照渡し周りが超絶複雑になるよ
116デフォルトの名無しさん
2017/12/01(金) 09:15:31.37ID:WDfZGQOx
.NETライブラリがそれらを採用しないなら使わん
117デフォルトの名無しさん
2017/12/01(金) 09:53:17.68ID:prkNCuF1
>>116
ライブラリってのが何を指してるのかしらんが、CLRはパフォーマンス向上のために採用するだろ
118デフォルトの名無しさん
2017/12/01(金) 09:54:03.08ID:2xCFHlEB
なんの思想もなくただ思い付いた機能追加してんな
次世代の課題はどう考えてもコードの自動生成だからな
もうc#にそれを受け切るキャパはないと結論出してくだらん機能追加してんのかな?

この設計を実現するためのこの機能ってのがないよな
119デフォルトの名無しさん
2017/12/01(金) 09:57:33.53ID:ey3QBHng
馬鹿は要らん心配しなくていいぞw
120デフォルトの名無しさん
2017/12/01(金) 10:17:38.98ID:iOkVpy7f
>>119
ごもっともだがmsの言語拡張にいったい何パーセントのc#プログラマーがついて行けてるんだろ?
121デフォルトの名無しさん
2017/12/01(金) 10:18:45.36ID:WDfZGQOx
無駄にごちゃごちゃするだけ
要らんやろ
122デフォルトの名無しさん
2017/12/01(金) 10:34:20.88ID:THofu70g
>>120
基盤のためだから、馬鹿な一般プログラマーはついていけなくていい
パフォーマンス向上だ間接的な利益を受けるから
123デフォルトの名無しさん
2017/12/01(金) 10:37:55.11ID:tm4OIa2O
値型参照関連の新機能はパフォーマンス向上のために追加されるから
使わん奴は一生使わんだろうな
124デフォルトの名無しさん
2017/12/01(金) 11:15:01.09ID:iOkVpy7f
>>122
>>102の法則が発動され中途半端な馬鹿がグダグダで複雑怪奇な(当然バグだらけ)の
コードを量産するから困るのです。
125デフォルトの名無しさん
2017/12/01(金) 11:19:59.25ID:KuFa7ekd
馬鹿と一緒に仕事しなければOK
馬鹿に仕事を発注しなければOK
そうもいかないって?馬鹿は大変だなw
126デフォルトの名無しさん
2017/12/01(金) 11:25:04.63ID:iOkVpy7f
受託開発なんて馬鹿の巣窟だわ
127デフォルトの名無しさん
2017/12/01(金) 12:24:05.27ID:Y1F3euov
MicrosoftがVBを切り捨てたようにC#も底辺から切り捨てられていく
底辺プログラマの未来は暗い
128デフォルトの名無しさん
2017/12/01(金) 12:25:29.05ID:RDzVJ16W
C#は他の言語で便利な機能があれば取り入れようとしてる時期
rubyみたいに何でも取り入れてごちゃごちゃにならなければいいけど

本当の意味で新しい機能はしばらく追加されないだろう
129デフォルトの名無しさん
2017/12/01(金) 12:30:03.27ID:ZeZypetk
>>128
それって簡単に言えばなんの思想もないから他言語パクって見ますって話でしょw
130デフォルトの名無しさん
2017/12/01(金) 12:33:48.54ID:TMbg8N17
>>129
全部入れてるわけじゃない
思想的にあってるものだけ入れてる

似たような感じだったjavaとも進化の仕方から違いが見て取れるはず
C#の下位がjavaと思ってたけど今は結構違いがある
131デフォルトの名無しさん
2017/12/01(金) 12:42:25.56ID:WDfZGQOx
プログラマとして大事なのはコミュ力だから
132デフォルトの名無しさん
2017/12/01(金) 12:52:31.16ID:Y1F3euov
技術力があれば不要なコミュニケーションを大幅ぬ削減できるという事実から目をそらさないで
133
それはない
134デフォルトの名無しさん
2017/12/01(金) 13:05:58.75ID:OnhdkLQO
そりゃC#にはVisualStudioとRoslynという超強力な助っ人がいるからね
さらにReSharper買えばリファクタリングも楽々
135デフォルトの名無しさん
2017/12/01(金) 13:10:05.18ID:THofu70g
>>128
まあ8だろうね
136デフォルトの名無しさん
2017/12/01(金) 21:14:22.99ID:IpWMomyL
outって使った記憶無いなぁってプログラム書いてたらTryParseで普通に使ってた
137デフォルトの名無しさん
2017/12/02(土) 00:32:48.74ID:8Fsyuzgi
>>123
うむ
ほとんどの人は気にする必要すらない
138デフォルトの名無しさん
2017/12/02(土) 02:52:21.48ID:GXJK2Or3
Parallelで走らせてる処理を一時停止させる方法ない?
139デフォルトの名無しさん
2017/12/02(土) 04:44:45.92ID:y1r+I3k4
>>136
無い
140デフォルトの名無しさん
2017/12/02(土) 09:04:32.19ID:VVl/8CKy
private class Pixel
{
public byte R { get; }
public byte G { get; }
public byte B { get; }
public int Index { get; }

public Pixel(IList<byte> data, int index)
{
B = data[0];
G = data[1];
R = data[2];
Index = index;
}
}

private static (int x1, int x2, int y1, int y2) Solve(BitmapSource source)
{
var width = source.PixelWidth;
var height = source.PixelHeight;
var stride = width * source.Format.BitsPerPixel / 8;
var data = new byte[stride * height];

source.CopyPixels(data, stride, 0);

var pixels = data.Buffer(source.Format.BitsPerPixel / 8).Select((x, i) => new Pixel(x, i));

あるところのコピペですが、最後の行の data.Bufferで 「'byte[]' に 'Buffer' の定義が含まれておらず、型 'byte[]' の最初の引数を受け付ける拡張メソッド 'Buffer' が見つかりませんでした。」
となります。 Byte型にBufferメソッドはないのですが、なぜこのような記述になっているのでしょうか?
141デフォルトの名無しさん
2017/12/02(土) 09:14:48.79ID:FEBxWHiJ
usingが抜けてる
142デフォルトの名無しさん
2017/12/02(土) 09:16:43.91ID:DFDj7NSx
>>140
.netのバージョンじゃん?
143デフォルトの名無しさん
2017/12/02(土) 09:20:05.04ID:y4HB0lRC
>>140
多分元々はBufferメソッドは拡張メソッドとして定義されてたものだと思う。配列型のメンバに無くてもあとから追加したように見せるやつ。
144デフォルトの名無しさん
2017/12/02(土) 10:41:07.35ID:kxO6m70V
>>140
Rxじゃね
145デフォルトの名無しさん
2017/12/02(土) 11:40:59.81ID:VVl/8CKy
みなさんどうもありがとうございます。

>>141
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
なので問題はないと思います。

>>142
古い.NET Frameworkしろってことですよね?
やってみたんたんですけど、Byte型に Bufferメソッドはなかったです。

>>143
自作した拡張メソッドなら他人にはわからないですね。
やってることはBitmapImageからピクセルデータの配列を取得してるので
べつのものに置き換えて済みそうな気がするんですが・・・
>>144
知らないのでググってみました。色々できそうなので調べてみます。
146デフォルトの名無しさん
2017/12/02(土) 13:42:47.26ID:NyAfE05B
小さいから見えんかったけど
IListじゃん
ググると微妙に出てくる
147デフォルトの名無しさん
2017/12/02(土) 14:36:47.13ID:d+Ubtrjs
C#のint配列はArrayの派生クラスですか?
148デフォルトの名無しさん
2017/12/02(土) 14:57:01.75ID:DKhOQsY1
そうだよ
149デフォルトの名無しさん
2017/12/02(土) 15:33:22.07ID:suCQ4i95
>>147
形式的にそう見えるようになっているけど、実際には通常のクラスの継承とは異なってるよ
配列は配列型という特別な種類の型であって、クラスや構造体とはまた異なるものだ
150デフォルトの名無しさん
2017/12/04(月) 23:04:09.19ID:vR5lLnEi
AngleSharpの使い方について教えてください!

<div class="aaa" hoge="javascript:changeBackgroundColor(this);"> 
<span id="idxxx" class="laste_span">取得したい箇所</span> 
</div> 

このようなelementがあったとして、 

// 指定したサイトのHTMLをストリームで取得する 
var doc = default(IHtmlDocument); 
using (var client = new HttpClient()) 
using (var stream = await client.GetStreamAsync(new Uri(urlstring))) { 
  // AngleSharp.Parser.Html.HtmlParserオブジェクトにHTMLをパースさせる 
  var parser = new HtmlParser(); 
  doc = await parser.ParseAsync(stream); 
}

ここからdocに対してどのようにすれば取得したい箇所が得られるのでしょうか?
151デフォルトの名無しさん
2017/12/04(月) 23:14:30.56ID:LqjCBPi+
...
}

var elm=doc.QuerySelector(“div.aaa span#idxxx”);
var text=elm.TextContent.Trim(); //文字列を取得
152デフォルトの名無しさん
2017/12/04(月) 23:20:48.64ID:2ttKv46c
>>151
#idxxx だけでよくね?
153デフォルトの名無しさん
2017/12/05(火) 00:13:40.14ID:bv7GN3wK
id よりも先祖の階層は、指定する必要がない

最も子孫の、id 以降を指定するだけでよい
154デフォルトの名無しさん
2017/12/05(火) 00:37:34.79ID:me3XgAZI
>>151
>>152
>>153
ありがとうございます!
明日確認してみます。
155デフォルトの名無しさん
2017/12/05(火) 05:15:33.65ID:cXtd7Bhl
あるtextBox1と表示内容が同じtextBox2を作りたいのですが
textBox1.Text="hoge";
textBox2.Text="hoge";
と記述するのではなくて
visualstudioのデザイナーでコピーするだけでtextBox2を簡単に作れる様な方法はないでしょうか?
156デフォルトの名無しさん
2017/12/05(火) 06:21:13.05ID:td42eqy6
デザイナーでコピーすればいいじゃん
157デフォルトの名無しさん
2017/12/05(火) 07:59:45.98ID:IsGNrsv0
連動させたいってこと?
158デフォルトの名無しさん
2017/12/05(火) 08:01:01.32ID:cXtd7Bhl
すいません、Textの内容hogeは計算結果をstringに変換したもので毎回違うので
単にコピーしただけでは出来なくて困っています
159デフォルトの名無しさん
2017/12/05(火) 08:02:23.95ID:cXtd7Bhl
はい、連動させたいということです
データバインドというので出来るのかなと思ったのですが難しくてよくわかりませんでした…
160デフォルトの名無しさん
2017/12/05(火) 08:05:41.37ID:cXtd7Bhl
複数のタブで色々な計算をしていて、その結果を見やすい様にひとつのタブにまとめて表示させたい
という感じです
161デフォルトの名無しさん
2017/12/05(火) 08:09:42.45ID:IsGNrsv0
コンテクストクラスを作ってタブ開いたときにそのコンテクストオブジェクトの内容を表示させる
162デフォルトの名無しさん
2017/12/05(火) 08:49:06.85ID:aO16oHUn
更新タイミングでそうなるように値入れればいいじゃん
163デフォルトの名無しさん
2017/12/05(火) 08:50:24.01ID:aO16oHUn
何ができなくて困ってるのか全くわからない
164デフォルトの名無しさん
2017/12/05(火) 09:35:53.48ID:5W3/kp5y
うむ。
textBox1.Text=res1;
textBox2.Text=res1;

textBox1.Text=res2;
textBox2.Text=res2;

こんな感じで毎回両方に代入すればいい。
165デフォルトの名無しさん
2017/12/05(火) 11:10:31.20ID:8/AWIhin
なんで要素1つのタプルが宣言できねえんだよこのポンコツ
166デフォルトの名無しさん
2017/12/05(火) 12:23:48.53ID:Z3/XP0Jc
changed使えば
167デフォルトの名無しさん
2017/12/05(火) 13:39:29.23ID:92ldxPu3
>>155
文字通りに解釈すると表示が同期するコントロールを継承・またはユーザーコントロールとして新しく作るってなるけど
>>164とどっちが楽とか考えてみたらいいよ
168デフォルトの名無しさん
2017/12/05(火) 13:44:53.19ID:yVpW5F/D
EF初心者なんですがPKが有るDBでsaveChangesしようとするとPKが重複してるというエラー出ます。解決策を教えてください。
169デフォルトの名無しさん
2017/12/05(火) 14:34:58.67ID:dOKGjr2C
コードを修正する
170デフォルトの名無しさん
2017/12/05(火) 18:14:21.88ID:BG6o1pBu
増減する情報(例えば、車種、色、ナンバー等)を管理するのに適したものは何ですか?

自作クラスを作って
  List<myClass> myList;
  myList.Add(new myClass());
myList.Remove(~);
とするのと、
DataTableで、車種、色、ナンバーを Columnsとし、
Row の Add と Remove するのと、

実行速度とかの面で、どちらがよいでしょうか。
171デフォルトの名無しさん
2017/12/05(火) 18:27:09.86ID:K4lUm6I7
>>170
Listに1票
172デフォルトの名無しさん
2017/12/05(火) 18:28:03.32ID:AWED9izS
ListのAddはO(1)、RemoveはO(n)
DictionaryのAddはO(1)、RemoveはほぼO(1)
なのでキーがユニークになるならDictionaryを使えばOK

あとDataTableは余程のことが無い限り使っちゃダメ
173デフォルトの名無しさん
2017/12/05(火) 18:38:38.70ID:xkHn8EO8
>>170
それを保存するならDBを使うべき
SQLiteとか
174デフォルトの名無しさん
2017/12/05(火) 18:39:45.00ID:BG6o1pBu
DataTable はダメなんですか?

別件ですが、日時を有する情報で、ある特定の期間の直近のデータを特定したい場合があり、
Selectを使いたいのでDataTableを使った経験があるのですが、よくなかったですか?
175デフォルトの名無しさん
2017/12/05(火) 18:41:02.99ID:BG6o1pBu
>>173
保存はしません。あくまでも内部の情報としての利用です。
176デフォルトの名無しさん
2017/12/05(火) 18:43:51.03ID:xkHn8EO8
DataTableは土方臭いから、やり方に拘るタイプの人は嫌ってることが多い
DataTable自体は、パフォーマンスに優れ、クソ安定した優秀な技術
愛用してるプログラマがクソなだけ
177デフォルトの名無しさん
2017/12/05(火) 18:47:31.87ID:Yyswv8hy
DataTable よりも List を使うと 10 倍早くなる

DataTable 8.32, 8.12, 8.12 sec
list 0.88, 0.83, 0.83 sec
とう具合に、DataTable よりも list のほうが 10 倍早くなっています。
178デフォルトの名無しさん
2017/12/05(火) 19:00:51.66ID:PhhOBNeX
その10倍がボトルネックにならなきゃどうでもいい
179デフォルトの名無しさん
2017/12/05(火) 19:04:36.42ID:rIDRW6+f
>>178
質問者が実行速度にこだわっているのならどうでもよくはない
そんな話するのならこの質問がどうでもいいってなる
180デフォルトの名無しさん
2017/12/05(火) 19:13:14.27ID:BG6o1pBu
皆さん、ありがとうございます。
速度も速いしクソにはなりたくないので、今回の案件ではlistを使う方向で進めることにします。

先ほど書いたとおり、以前DateTime型の絞込みでSelectが便利だと思いDataTableを使ったことがあります。
この場合も、listで、自力でソードや比較を実装した方が良かったのでしょうか?

まぁ速度の兼ね合いかとは思うのですが、皆様ならどうしますか。
181デフォルトの名無しさん
2017/12/05(火) 19:15:08.60ID:0r8GtYYi
8秒と0.8秒だったら大騒ぎだが80msと8msの差だったら無視できるという意味では
どういうものをどのくらい扱うかで違うから本人がテストしなきゃ仕方ないね
182デフォルトの名無しさん
2017/12/05(火) 19:17:31.03ID:k+S65OIc
DataTableはオワコン
Microsoftも切捨てようとしたがクレーマーの圧力に負けてしぶしぶサポートすることになった
183デフォルトの名無しさん
2017/12/05(火) 19:19:50.77ID:rIDRW6+f
>>180
まず用途が管理なのに保存しないとか意味不明なんだけど
データその都度読み込んで捨てるのなら作りやすい方で作って
速度アップ見込めそうなら形式を変えるだけ
184デフォルトの名無しさん
2017/12/05(火) 19:21:31.02ID:ICEc9nSZ
何れにしてもLinqは覚えておこう
185デフォルトの名無しさん
2017/12/05(火) 19:47:42.46ID:C7A8AnoX
RemoveするならGetHashCodeとEqualsをちゃんと実装してHashSetにぶち込んだ方が良くない…?
186デフォルトの名無しさん
2017/12/05(火) 20:12:24.58ID:ParyWK8l
リストに重複データが存在するかもしれないしHashsetにしていいかは不明だな
設計書とか作って主キーやユニークキーにあたるデータを明示的にしてんならそれでいいけど大抵はIEqualityComparer指定する方が使い勝手がよさそう
187デフォルトの名無しさん
2017/12/05(火) 20:22:49.22ID:PhhOBNeX
>>180
先ずは作り易い方で作れ
速度面の改善をするのは、一通り完成してからでいい

ボトルネックは大抵、標準ライブラリからどのクラスを採用するかなんてレベルには無いから気にすんな
188デフォルトの名無しさん
2017/12/05(火) 20:48:47.73ID:XeWx8Qol
>>169
分からないなら答えなくてもいいよ
189デフォルトの名無しさん
2017/12/05(火) 21:03:05.57ID:BG6o1pBu
皆さん、レスありがとうございます。

色々と馴染みのないキーワードが出てきたので少しずつ調べて行きたいと思います。
190デフォルトの名無しさん
2017/12/05(火) 21:42:08.05ID:IsGNrsv0
Googleのトップがプログラミング
191デフォルトの名無しさん
2017/12/06(水) 08:39:00.97ID:Y6zaPgMb
>>182
クレーマー言うな。
EFが普及してないんだから仕方ない。

msはDataTableよりvb6に引導を渡してくれ。
192デフォルトの名無しさん
2017/12/06(水) 15:27:39.07ID:nfsVfh5P
Webフォームを作っています。
サーバ上の特定のフォルダに、とあるファイルが不定期に生成されます。
それを監視してWebフォームに表示したいのですが、FileSystemWatherのようなコントロールはないでしょうか?

ない場合、Timerで回すしかない考え付かないのですが、通常Webフォームで1秒間隔程度なら許容されるインターバルでしょうか?
193デフォルトの名無しさん
2017/12/06(水) 15:39:57.42ID:A61Dczsv
>>192
無いと言うか、あったところでその状況をサーバに取りに行かないとどうにもならん。

ユースケースによるかと。
コネクション数を気にしないなら、ファイルが生成されるまでタイムアウトしないAPI作って、ajaxで呼ぶのが一番機敏に動くと思う。
一秒間隔でリクエストはちょっと多いんじゃないかな。生成されてない画面を10人が10分開いたままにしたら、それだけで6000行もログが埋まってしまう気がする。
194デフォルトの名無しさん
2017/12/06(水) 15:53:34.43ID:sywZU+Dz
>>192
問題ないけど不定期ならプッシュ通知の実装もありますよ
195デフォルトの名無しさん
2017/12/06(水) 15:55:24.63ID:nfsVfh5P
>>193
言葉足らずですみません。

IISが動いているサーバにデータのファイルが不定期に生成されます。
それをWeb画面で様子をみたいという要望です。
動いてる様子が分かればいいのですが、ファイルがまとまって生成される事があるため、
ある程度短いインターバルにしたいとは思ってたのですが。

ローカルアプリも考えたのですが、その場合、複数のPCがサーバのファイルを覗きに行く事になるので、それはそれで嫌かなと思いまして。

> ファイルが生成されるまでタイムアウトしないAPI作って、ajaxで呼ぶ
もう少し教えてもらえないでしょうか。
APIって具体的に何で作ったどんな形式のものですか?
調べるヒントをください。


>>194
同じくもう少しヒントを!どんな感じの実装ですか?
196デフォルトの名無しさん
2017/12/06(水) 16:07:24.35ID:sywZU+Dz
>>195
ごめん、Webプッシュと言うらしいけど未だ使ったことは無いんだ
グーグル先生に聞いてください
197デフォルトの名無しさん
2017/12/06(水) 16:32:05.88ID:0RCrbv9w
>>195
SignalR
198デフォルトの名無しさん
2017/12/06(水) 17:50:23.31ID:3KlZJVUn
C#を採用したTizen4.0っていうOSのスマホが発展途上国でバカ売れらしい
199デフォルトの名無しさん
2017/12/06(水) 18:10:03.35ID:nv7gWMkp
indexでF5連打
200デフォルトの名無しさん
2017/12/06(水) 18:21:23.18ID:nv7gWMkp
この人と同一人物じゃないかと疑ってしまう

703 名前:デフォルトの名無しさん (ワッチョイ 02c2-8CrJ)[sage] 投稿日:2017/11/21(火) 21:20:36.17 ID:8K/pnPq30 [1/2]
最近のオシロスコープはWebサーバー機能を持っていて、Webブラウザでアクセスすると
計測画面を表示させることができますが、C#で同じような機能を簡単に実装することはできるでしょうか?
リモートデスクトップではなく、WinFormsのアプリ画面だけをネット越しに共有する感じです。
201デフォルトの名無しさん
2017/12/06(水) 18:23:00.31ID:zMhQDjeD
>>195
Web Socketかポーリングを使う
つまりSignalR
202デフォルトの名無しさん
2017/12/06(水) 19:40:50.48ID:trEM6d6d
ポーリング間隔はどっちにしろ決めないと話にならない
203デフォルトの名無しさん
2017/12/06(水) 19:44:16.54ID:WLCLi8WA
ロングポーリングかWebSocketならポーリング間隔は不要だぞ
204デフォルトの名無しさん
2017/12/06(水) 19:50:30.04ID:trEM6d6d
>>203
どういう仕組み?
205デフォルトの名無しさん
2017/12/06(水) 19:54:18.94ID:trEM6d6d
サーバー側でクライアント数の把握をするの?
悪手じゃね?
206デフォルトの名無しさん
2017/12/06(水) 20:24:33.34ID:WLCLi8WA
通知が取得できるようになるまで長いことセッション張りっぱなしにするだけだぞ
悪手もクソも普通に使われてる手法
207デフォルトの名無しさん
2017/12/06(水) 20:26:17.59ID:jQEB5IsZ
>>205
SignalR知らんの?
208デフォルトの名無しさん
2017/12/06(水) 20:50:56.89ID:trEM6d6d
>>206
それってサーバー側でクライアントを管理してないとできないよね?
209デフォルトの名無しさん
2017/12/06(水) 20:51:29.75ID:trEM6d6d
>>207
いや、これ仕組みの話だから
210デフォルトの名無しさん
2017/12/06(水) 21:59:20.59ID:W/tg1Ic8
>>208
それが何か?
普通のHTTPリクエスト処理だって、リクエストを受け付けてからレスポンスを返すまで、
君の言葉で言えばクライアントを管理してるだろ
そのレスポンスを返すまでの時間が長いだけだよ
211デフォルトの名無しさん
2017/12/06(水) 22:02:13.59ID:trEM6d6d
>>210
ファイル更新が丸一日無かったらどうなんの?
212デフォルトの名無しさん
2017/12/06(水) 22:13:07.11ID:W/tg1Ic8
>>211
リクエストにタイムアウト付けるに決まってるだろ
213デフォルトの名無しさん
2017/12/06(水) 22:15:10.75ID:H2dXQlT6
元の質問Timerで一秒間隔で呼び出すとかなんだが大丈夫なのか?
214デフォルトの名無しさん
2017/12/06(水) 22:29:46.09ID:JrOz0Sq/
>>213
5chのリクエスト数に比べると屁みたいなもんだろな。
215デフォルトの名無しさん
2017/12/06(水) 22:31:12.35ID:9Cl2Q0EY
そもそもサーバーのファイル一覧を表示するWebアプリなんか自分で作らなくても出来合いのOSSが腐るほどあるだろ
自分で作るより遥かに品質もいいよ
216デフォルトの名無しさん
2017/12/06(水) 22:34:48.06ID:H2dXQlT6
>>214
サーバーがそんな強力な前提か
217デフォルトの名無しさん
2017/12/06(水) 22:35:13.44ID:lccJ0ap6
webベースのファイル管理サービスでイケてるやつあったっけ?
218デフォルトの名無しさん
2017/12/06(水) 22:36:33.33ID:W/tg1Ic8
>>214
キャパシティ的な話をするなら、そもそもサーバーのディレクトリを各クライアントがネットワークドライブにマウントしても全く問題もないだろうな
用途的に、問題になるほどにクライアントの数が多いとは思えん
219213
2017/12/06(水) 22:36:35.54ID:H2dXQlT6
って違うw釣られて間違えたw
クライアント側の話だよ
220デフォルトの名無しさん
2017/12/06(水) 22:41:18.34ID:9Cl2Q0EY
>>219
ロングポーリングなら関係ないぞ
結局はサーバー側でのファイル生成イベントの発生頻度次第
221デフォルトの名無しさん
2017/12/06(水) 22:43:23.56ID:JrOz0Sq/
>>218
タスクトレイ常駐型のデスクトップアプリでも作った方が使いやすいだろうな。
222デフォルトの名無しさん
2017/12/06(水) 23:56:51.95ID:5T1FsMv1
サーバー側はFileSystemWatcher(だったっけ?)でフォルダ監視してなんかあったらテキストファイルでもDBでも適当な保管場所に情報を保存するサービスと
その保存場所から自動更新でひたすら情報を読み取るWeb画面作ればよくね?

自分ならそうするわ
ボリューム的に半日仕事で終わるし
223デフォルトの名無しさん
2017/12/07(木) 01:41:57.78ID:h6BVmLyc
1秒じゃなくて4秒にしよう
224デフォルトの名無しさん
2017/12/07(木) 07:03:53.69ID:e1xCIudC
他のアプリにキーボードのコマンドを送りたいのですが、どの様な方法があるでしょうか?
sendinputなど調べてみたのですが例が少なく今一理解出来ませんでした
225デフォルトの名無しさん
2017/12/07(木) 07:58:46.72ID:h6BVmLyc
プロセス間通信
226デフォルトの名無しさん
2017/12/07(木) 08:07:25.81ID:QlnDuWpW
>>222
> その保存場所から自動更新でひたすら情報を読み取るWeb画面作ればよくね?
だからそれやるとクライアントが多い時にサーバーがパンクするからSignalRとかでサーバーから通知するって話
まあサーバーから通知って言うけど仕組み的にはイベント発生までレスポンスを返さないって言うだけのことなんだけどな
227デフォルトの名無しさん
2017/12/07(木) 08:16:20.37ID:1QpgLYuZ
なつかしのSendMessageとか
228デフォルトの名無しさん
2017/12/07(木) 08:27:43.21ID:teoFHcQT
>>224
SendKeysで
sendinputは他のプロセスには送れない
229デフォルトの名無しさん
2017/12/07(木) 08:50:35.95ID:afn7IHoQ
.netの場合クラスないでFontオブジェクトを生成した場合にはクラスを解放した場合は
Fontオブジェクトは解放されるの? Disposeすべきかどうかはどうやって調べたら
いいのだ?
230デフォルトの名無しさん
2017/12/07(木) 10:06:11.39ID:lA04OzcH
>>226
しないっつうのw どういう理解してる?
なんのためにわざわざ別にサービス作って保存してんだ

これでパンクするならごく普通のWebサービスも作れんわ
231デフォルトの名無しさん
2017/12/07(木) 10:31:29.62ID:vYoZ1cCC
>>229
パフォーマンスを要求するなら適切なタイミングで解放すべき。
どうでもいいならガーベッジコレクタに任せる
232デフォルトの名無しさん
2017/12/07(木) 10:32:55.56ID:vYoZ1cCC
質問の答えになってなかった
233デフォルトの名無しさん
2017/12/07(木) 10:43:44.03ID:teoFHcQT
>>229
IDisposable実装してないクラスは放置で良いと思ってる。
234デフォルトの名無しさん
2017/12/07(木) 10:56:49.03ID:ODzGS5Kr
FontをDisposeするコードは見たことも発想も無かったな
newで作ったら全部Disposeする発想なのか
235デフォルトの名無しさん
2017/12/07(木) 10:58:19.97ID:vYoZ1cCC
Font, Pen, Brushはサイズ重いしな
236デフォルトの名無しさん
2017/12/07(木) 11:44:12.26ID:Rln0TdUu
>>234
Fontはコントロールを自作する場合は(ほとんどの場合手抜きで)コントロールと同じ寿命に
することもあるけど、usingで対処できる場合が大半でしょ
237デフォルトの名無しさん
2017/12/07(木) 12:54:28.08ID:QlnDuWpW
>>230
見たときに最新情報になってりゃいいんじゃなくて、イベントが発生したらあまり遅れずにクライアント側の画面を更新するんだぞ?
なぜSignalRとかの話になってるのか理解してないだろ
238デフォルトの名無しさん
2017/12/07(木) 13:02:41.60ID:lA04OzcH
>>237
そもそもWeb画面で見たいっつう要望じゃん
つうか100台同時アクセスして毎秒更新してもカスみたいな負荷だわこんなもん
一体どんな骨董品で動かす想定してんだよ
239デフォルトの名無しさん
2017/12/07(木) 13:07:11.00ID:lA04OzcH
そうでなくてもSignalRなんているかよ
サービスでtcpポートlistenしてイベント発生する都度情報を垂れ流す古き良きソケット間通信で十分だろw
240デフォルトの名無しさん
2017/12/07(木) 13:09:35.59ID:teoFHcQT
日本語で
241デフォルトの名無しさん
2017/12/07(木) 13:22:15.77ID:2pT1zkKO
>>239
ブ ブラウザ画面の話してるから要するにWebSocketってこと?
242デフォルトの名無しさん
2017/12/07(木) 13:29:39.70ID:lA04OzcH
>>241
いや
デスクトップアプリにするんでもソケット間通信でいいよねっつう話
243デフォルトの名無しさん
2017/12/07(木) 13:51:52.29ID:+NxgTnqm
Webアプリで素のソケット通信って何なのさ?
244デフォルトの名無しさん
2017/12/07(木) 14:33:53.52ID:LGA5S92E
質問者置いてけぼりでワロタ
いつの間にかサーバ側を何とかする話になってる
245デフォルトの名無しさん
2017/12/07(木) 14:40:55.27ID:+NxgTnqm
皆さん、単純なものを複雑に実装するスキルをお持ちのようでw
246デフォルトの名無しさん
2017/12/07(木) 15:33:24.53ID:BPsvGxGu
C#でデーモン作って状況をDBに保管して、webシステムは普通にDBからページ作れば良いんじゃね?
セッション全てがフォルダアクセスに行くと面倒だからそれだけ避ければいい
247デフォルトの名無しさん
2017/12/07(木) 16:02:17.31ID:cbI0OqL3
知らないのならば
248デフォルトの名無しさん
2017/12/07(木) 16:10:15.58ID:CONsZMOl
>>195
見たい時にボタンクリックして最新情報を取得すればいいやん。
常時モニターする必要性は無いだろ?
249デフォルトの名無しさん
2017/12/07(木) 16:16:30.86ID:3BaUjcas
本当に初歩的なことで無知で予め謝るね、ごめんなさい。

var revokedPasswords = [
];

function getAuthenticationHash (password) {
var hasher = new jsSHA("SHA-256", "TEXT");
hasher.update("vira " + password.trim().toLowerCase() + " mate");
return hasher.getHash("HEX");
};

function isValidPassword (password) {
if (revokedPasswords.indexOf(hash) >= 0)
return false;

var hash = getAuthenticationHash(password);
if (validPasswords.indexOf(hash) >= 0)
return true;

return false;
};

context.getAuthenticationHash = getAuthenticationHash;
context.isValidPassword = isValidPassword;

というのがあって、これはパスワードを”SHA-256”ってやつで変換しろってことであってるのかな?
250デフォルトの名無しさん
2017/12/07(木) 16:19:30.73ID:bi5OWsBC
>>249
ここはc#スレです
251デフォルトの名無しさん
2017/12/07(木) 17:32:36.95ID:2pT1zkKO
>>249
はいそうです。
252デフォルトの名無しさん
2017/12/07(木) 18:14:35.54ID:+Wu2cJH/
>>227>>228
ありがとうございます

最終的にバックグラウンドでキー入力を他アプリに送りたいのですが
どういった方法があるでしょうか?
253デフォルトの名無しさん
2017/12/07(木) 18:30:35.51ID:NSH9BpmW
>>252
https://msdn.microsoft.com/ja-jp/library/system.windows.forms.sendkeys(v=vs.110).aspx
https://dobon.net/vb/dotnet/vb6/sendkeys.html
バックグラウンドとは?
特定のアプリに対してのみ送信なら無理
254デフォルトの名無しさん
2017/12/07(木) 19:35:39.52ID:qnTgxbKH
>>252
バックグランドってタスクトレイ常駐アプリにしたいって事?
NotifyIcon使えば出来るけど。
バックグランドがWindowsサービスって意味なら無理かな。

.NETのSendKeysは、半角カナや&は化ける。
WSHのSendKeysを使えば化けないかも。
255デフォルトの名無しさん
2017/12/07(木) 20:32:51.80ID:QlnDuWpW
>>238
> そもそもWeb画面で見たいっつう要望じゃん

>>192>>195を読んで自動更新したいんだ
って理解できないアホは黙ってろ
256デフォルトの名無しさん
2017/12/07(木) 20:48:22.81ID:p8nuhjj6
>>238が言ってるのは、クライアントがサーバーに対してXHRでも使って1秒ごとにポーリングすればいいということだと思うぞ
リクエストのたびにサーバー側でも毎回ファイルシステム舐めてファイル一覧作ってたら遅いだろうけど、
サーバー側ではFileSystemWatcherなり定期的なポーリングなりで非同期でファイル一覧のキャッシュを更新していけば、
クライアントが頻繁にリクエストしてきてもまず問題にはならない
257デフォルトの名無しさん
2017/12/07(木) 20:50:09.09ID:lA04OzcH
>>256
普通誰が読んでもそういう理解になるよね
258デフォルトの名無しさん
2017/12/07(木) 20:54:28.15ID:h6BVmLyc
>>255はWebに疎すぎる
259デフォルトの名無しさん
2017/12/07(木) 21:06:57.10ID:p8nuhjj6
(A)サーバー内でのファイルシステムに対するポーリング と、(B)クライアントによるサーバーへのポーリング がごっちゃになってるのがこの話の混乱の原因
そこを非同期で分離するのはまず常識的な大前提であって、
ABそれぞれをどう最適化するかはそれほど重要ではない
とりあえず実装が手っ取り早いのはABとも定期的に更新することだし、
効率と即時性を追求するならAはFileSystemWatcherでBはロングポーリングorWebSocketだろうね
260デフォルトの名無しさん
2017/12/07(木) 21:09:53.55ID:G7lyLovK
>>256-258
なんでそんなタコな設計するんだ?
って>>193に既に書いてあるのにバカすぎるだろ
261デフォルトの名無しさん
2017/12/07(木) 21:12:08.87ID:qnTgxbKH
質問主はWebアプリに拘ってるわけじゃないけど
沢山のクライアントPCからWebサーバのフォルダを共有したくないからWebアプリが良いかな程度に思ってるだけだろ。
Webサーバ上に監視サービス作るのならWebアプリに拘る必要は無いし。
262デフォルトの名無しさん
2017/12/07(木) 21:19:32.52ID:lA04OzcH
>>260
>>193がバカだからね
仕方ないね

ファイルが生成されるまでタイムアウトしないAPIとか、1秒間隔のリクエストが多いとか、6000行のログとか
何もかも全てが意味不明だからね
どうしようもないね
263デフォルトの名無しさん
2017/12/07(木) 21:21:02.83ID:p8nuhjj6
>>260
>>193と矛盾することは何も言ってないつもりだけどな
>>193>>259でいうBの部分の実装例を挙げてるだけであって、Aの部分については何も言及してないぞ
264デフォルトの名無しさん
2017/12/07(木) 21:24:18.74ID:Is/SlhXg
悪いけどこれC#の話題なのかなあ?
265デフォルトの名無しさん
2017/12/07(木) 21:29:45.67ID:EeTBbz6o
じゃあ会社でLINQを薦めようとしたら、その前にまずユニットテストを覚えさせなければと愕然とした話でいいのか
266デフォルトの名無しさん
2017/12/07(木) 21:40:07.74ID:lfszpYB8
ソケット通信はstunnelで暗号化するんだよね?
267デフォルトの名無しさん
2017/12/07(木) 21:46:02.79ID:G7lyLovK
>>263
そもそもAをどうのこうの言ってる奴は池沼の>>222ぐらいだろ w
268デフォルトの名無しさん
2017/12/07(木) 23:37:45.38ID:gBefvYul
イベントの購読破棄って
どんなケースでも破棄されるように几帳面にやるものなの?

http://takachan.hatenablog.com/entry/2014/10/21/011333

これ見たら-=しなくても漏れないようなので
サボりたくなるんだけど

サボってはいけないケースとサボっていいケースがあるなら知っておきたい
269デフォルトの名無しさん
2017/12/08(金) 02:03:25.04ID:cDyzbPRT
>>268
何やってるのかよー分からん記事だねw

イベントでリークが発生しうるのは相談室の方の97に書いてあるケースだけだと思う
それは違うって言ってる人もいるけど、たぶん何か勘違いしてるだけだと思うね
270デフォルトの名無しさん
2017/12/08(金) 02:05:20.09ID:dE4K6487
{"status":"go","solution":{"Res":"0SpQ"},"endTime":1512663686}
っていうJSONデータがあって、その中のResの値をとりたいんですけど、


var seri = new DataContractJsonSerializer(typeof(recapres));
byte[] bytes = Encoding.UTF8.GetBytes(a);
var ms = new MemoryStream(bytes);
recapres info = (recapres)seri.ReadObject(ms);

ここまでは調べて書けたんですけど、
この先のResの値をとるコードの書き方がわかりません。
どのように記述すればいいのでしょうか?

solutionの部分は、
[DataMember]
public List<SOL> solution { get; set; }
としてしてます。
271デフォルトの名無しさん
2017/12/08(金) 04:06:20.76ID:xohAuzUW
>>270
です。
調べる方法変えたらいけました
272デフォルトの名無しさん
2017/12/08(金) 07:58:19.65ID:ahDNvKU9
>>269
サボってはいけないのはイベント発行側のライフサイクルが長いとき

サボっていいのは発行側と購読側のライフサイクルがほぼ同じとき

という理解でOK?
273デフォルトの名無しさん
2017/12/08(金) 08:11:45.30ID:PpC6VnTr
>>268
このリンク先の人はイベントとGCを正しく理解してない
この人、他の記事もバカっぽいのばっかりだから初心者はこんなの見ちゃだめ

>>272
間違ってはいないけど、補足するなら
発行側より購読側のライフサイクルが長いときもサボっていい
参照の向きは必ず発行側→購読側なので、イベントハンドラの登録そのものは発行側の寿命には影響しない
フォームとボタンのように、たいていは購読側も発行側への参照を握り続けているので、結果的に寿命は一致するケースが多いんだけどね
274デフォルトの名無しさん
2017/12/08(金) 08:41:02.41ID:LOVuAI3k
>>273
SIerの中の人のブログだね
c#でメモリリークって「推して知るべし」
275デフォルトの名無しさん
2017/12/08(金) 08:43:23.27ID:oxsZSnq/
>>262
193だけどなんで?
普通にロングポーリングの実装かと。
276デフォルトの名無しさん
2017/12/08(金) 09:32:30.34ID:eUH+zyLO
イベントとかUIしか使わんしUIはデザイナーが勝手にコーディングするからイベントなんて使わんな
277デフォルトの名無しさん
2017/12/08(金) 09:40:52.12ID:2x5NCYhZ
へえ、すごいね
帰っていいよ
278デフォルトの名無しさん
2017/12/08(金) 11:10:02.45ID:cJ57jE1N
+=を一切使わずに作るのか
コマンドバインディングを駆使する感じ?
それは確かに凄いな
279デフォルトの名無しさん
2017/12/08(金) 11:28:41.60ID:7LHrgDvL
>>275
ロングポーリングの実装について勉強しといで
単にタイムアウトを無期限にする実装のことをロングポーリングとは言わない
280デフォルトの名無しさん
2017/12/08(金) 11:44:45.00ID:oxsZSnq/
>>279
うん、実装次第だよね。
無期限か、プロキシに切られる寸前にするか、10分にするか、どうでも。
無期限はCouchDBのchange監視なんかは、ほっといたら無期限になるんじゃなかったっけ?
ログが大きくなったり他のを埋めるほどのリクエストは問題だと思うけど。特にイントラでの運用だと。
事例調べてきたらいいのになぁ
281デフォルトの名無しさん
2017/12/08(金) 12:25:41.51ID:IbEiOVbO
>>278
282デフォルトの名無しさん
2017/12/08(金) 12:27:34.90ID:IbEiOVbO
イベント使う機会ある?
283デフォルトの名無しさん
2017/12/08(金) 12:44:05.29ID:M8mJAXMK
>>282
無い人はそれでいいよ
自分には~いらないとか~必要ないとかそういうこと言いあうスレじゃないんで
284デフォルトの名無しさん
2017/12/08(金) 12:53:05.93ID:eUH+zyLO
>>283
単純に興味がある
みんななにに使ってるだろう。
そもそも要らないとは一言も
285デフォルトの名無しさん
2017/12/08(金) 12:56:22.31ID:n5uOCz3i
>>284
UIアプリつくったことないの?
イベントだらけやん
286デフォルトの名無しさん
2017/12/08(金) 12:58:10.32ID:eUH+zyLO
>>285
うん。UIしか俺も使わん。
それ以外にある?
UIのはデザイナが勝手にコーディングするからイベントに触れることがない。
287デフォルトの名無しさん
2017/12/08(金) 12:58:14.04ID:PXTxgSdc
>>279
> 単にタイムアウトを無期限にする実装のことをロングポーリングとは言わない
そんなことを思ってるのは君だけ
マジでちょっと勉強してきた方がいいぞ
今だと単なるアホにしか見えてないし
288デフォルトの名無しさん
2017/12/08(金) 13:04:34.05ID:LezyuZlt
>>286
通信アプリとかデータが来たらオレオレイベント発生させる。
289デフォルトの名無しさん
2017/12/08(金) 13:11:44.12ID:T81djMMQ
あらゆるクラスにログ出力のイベントつけちゃう
290デフォルトの名無しさん
2017/12/08(金) 13:19:11.96ID:zPIj5vhG
ID変わってるかもですが、>>192です。

反応できてないですが、皆さんの議論は参考にさせて頂いています。

SignalRですか?少し調べてみたのですが、目的に合致しているかもしれません。
ですが、後だしなのですが、今回対象になっているサーバがframework 3.5で、
現在運用されているwebアプリはVS2008で開発されています。
ここに追加する形で考えているため、SignalRは使えません。

(別の場所に同じようなサーバがあり、こちらは去年立ち上げたばかりで、水平展開することになり、かつ、私が担当する事になったら是非ともSignalRなりを勉強したいと思っています。)


そこで、やはりTimerを使う事になるかなと思っているのですが、気になる点があるので教えていただければありがたいです。

ログが大きくなるとあるのですが、意識してなくてもログが記録されているものなのですか?
そのログはどこで確認でき、ログを残さなくすることはできないのでしょうか?
291デフォルトの名無しさん
2017/12/08(金) 13:23:25.17ID:LezyuZlt
>>290
IISのログの事だろうけど気にしなくても良いでしょ。
292デフォルトの名無しさん
2017/12/08(金) 13:28:18.22ID:Xls5mA2Y
プロパティー変化時の~Changedイベントは普通に多用するでしょう。

非同期処理完了をイベントで通知するのは非同期メソッドが出来たので
流行らなくなったね。
293デフォルトの名無しさん
2017/12/08(金) 14:02:11.06ID:PpIHj1rp
最近はイベントも種類が増えたね
・x:Bindによるイベントバインディング
・EventAggregatorって言う集約イベント
・Rxや、その派生のReactiveProperty

従来型はあまり使わなくなったね。
294デフォルトの名無しさん
2017/12/08(金) 14:10:42.44ID:M8mJAXMK
>>286
最初の質問は「イベント使う機会ある?」だったけど、相手によってどんどん変えるの?
動的にコントロール追加する時とかデザイナでできない
イベントが多重発生する状況のときは処理中に止めて終わったらイベントを再開する
他にもあるだろうけど自分が遭遇する機会無いのならそれでいいじゃん
>>290
質問続けるのならどこまでサーバー側をいじれるかも書いてほしい
一番簡単なのが他の人も書いているけどサーバー側でステータス用意して
クライアント側がそれを取りに行くだけの処理の時だから
295デフォルトの名無しさん
2017/12/08(金) 14:16:37.32ID:yJmj+jOP
PerformanceCounterって、
OS起動直後からしばらく立たないと使えないとかの制限あるんですかね?
296デフォルトの名無しさん
2017/12/08(金) 14:45:49.73ID:IbEiOVbO
>>294
なんも変わってなくね
最初から「UIしか使わんやろ」オンリーですが?
297デフォルトの名無しさん
2017/12/08(金) 14:52:00.48ID:IbEiOVbO
>自分が遭遇する機会無いのならそれでいいじゃん
なにをそんなにイカってるのか分からんわ。
「イベントってUIしか使わなくなくね?イベントの使い道他になにがあるの?」
単純な疑問に突然キレられても困惑よ。
298デフォルトの名無しさん
2017/12/08(金) 15:19:35.30ID:FTlzMntS
ここのスレの住人は「C#の~要らなくね?」って意見に過敏だからなwwwww C#信者だから当たり前かなw
要らないとは言ってなくてもそう解釈されるんじゃよw
299デフォルトの名無しさん
2017/12/08(金) 15:22:00.68ID:XHPT3EtZ
あのさぁ、c#の#って要らなくねえ?
って言ってみる。
300デフォルトの名無しさん
2017/12/08(金) 15:37:29.35ID:NIv2jCgd
要りますよ、おじいちゃん。
301デフォルトの名無しさん
2017/12/08(金) 15:43:54.34ID:XHPT3EtZ
#を取ったら、オブジェクト指向もジェネリックスもラムダ式も例外もイベントも無くなって平和になるべ?
302デフォルトの名無しさん
2017/12/08(金) 16:08:01.83ID:zPIj5vhG
>>294
失礼しました。
サーバは、frameworkのインストールとか、既存の動いているソフトをいじるとかはできないですが、
新たなソフト(Webでもローカルexeでも)を動かしたり、フォルダやファイルの操作は自由にできます。

>一番簡単なのが他の人も書いているけどサーバー側でステータス用意して
>クライアント側がそれを取りに行くだけの処理の時だから

自分に理解できない事は脳内でスルーしてしまっているかも。
これは別途、更新したファイルのリストを作っておくとかって事でしょうか?
確かに作成されたファイルを、各リクエスト(=開いてるブラウザ、ですよね?)毎のTimerイベントで行うのは非効率ですね。
私のレベルでは、サーバでローカルアプリを動かして、何らかのファイルなりDBに出力するくらいしか思いつきません。
Webアプリ内で、同等の事とかできればいいんでしょうけど。
303デフォルトの名無しさん
2017/12/08(金) 18:12:13.39ID:oxsZSnq/
>>290
記録されてる。IISの設定次第。
残さないってのは、邪魔なログがある以上に困るのでやめて。
>>291
IISのログだけど、障害調査する側に回ったら、気にしてほしいと願うようになると思う。
304デフォルトの名無しさん
2017/12/08(金) 18:55:14.76ID:Hk+pFmDF
C#だけの話では無いのですが、インスタンス作られたら自分の仕事するだけでフィールドもパブリックメソッドも無いクラスって、OOP的にはアンチパターンでしょうか
305デフォルトの名無しさん
2017/12/08(金) 19:03:17.13ID:cJ57jE1N
>>304
パターンというのはみんなが繰り返しやるからパターンと呼ばれる

だれもそんな設計しないと思うので
何かのアンチではあってもアンチパターンではないと思う
306デフォルトの名無しさん
2017/12/08(金) 19:11:34.28ID:PpC6VnTr
>>304
フィールドを使いたいなら分からないでもないが、フィールドも使わないんだったら単なる静的メソッドでいいだろ
あえて変なスタイルを採用する積極的理由がない
307デフォルトの名無しさん
2017/12/08(金) 19:22:05.40ID:Vo/E3SIp
>>304
コンストラクタの中で処理するのはアンチパターンに入るかも
308デフォルトの名無しさん
2017/12/08(金) 21:13:55.11ID:l65xZylR
>>307
コンストラクタだけで完結させるのはやはりアンチパターンですよね

データベース相手で、パブリックメソッドが一つしかないクラスを作った時に、コンストラクタで全部やっちゃえば良いねと作っちゃったんですけど、こんなことしてるクラス見たこと無いので不安に思い
309デフォルトの名無しさん
2017/12/08(金) 21:46:31.29ID:T5yPQbL2
コンストラクタ内で全部やっちゃうのは、
コンストラクタの責務を超えてる気がするなー
310デフォルトの名無しさん
2017/12/08(金) 21:48:13.33ID:T5yPQbL2
数年後とかに(または自分以外の人間が)、コードを改修するハメになった時に
うっかりその派生クラスとか作ると、ヘンな副作用を起こしそうなので
ちゃんとメソッドに分割した方がお行儀が良い、と思う
311デフォルトの名無しさん
2017/12/08(金) 22:06:43.30ID:nAKkewiT
>>304
既に指摘されてる通り、アンチどうこう以前に普通は無意味だからやらないけど、
staticクラスは多態できない(インターフェイスも実装できないし継承関係も作れない)ので、
多態を実現するために例え状態(フィールドやプロパティ)を持たなくてもインスタンスを
作ることは理屈上はありえると思う。

私しゃーやったことありませんが
312デフォルトの名無しさん
2017/12/08(金) 22:39:43.44ID:zVfb1lJX
>>304
staticメソッドじゃダメなの?
313デフォルトの名無しさん
2017/12/08(金) 22:48:26.92ID:8QW3tG+Y
>>305
ところで設計じゃないよ
コーディングプランだからw
314デフォルトの名無しさん
2017/12/08(金) 23:59:26.68ID:ahDNvKU9
>>313
ん?
何が違うんだ?
315デフォルトの名無しさん
2017/12/09(土) 18:25:35.22ID:yz0yK5Nn
C++でゲーム作っていた者ですが
今後はC#で作っていこうと勉強しています

C++あがりのプログラマがC#で間違い易い、
ありがちなミスを教えてください。
316デフォルトの名無しさん
2017/12/09(土) 18:46:18.09ID:Yi9bTbLW
迷わず行けよ行けば分かるさダー
317デフォルトの名無しさん
2017/12/09(土) 18:51:16.17ID:DLrsngiD
C++とかいう高度な言語使えないから分からんにゃーい
318デフォルトの名無しさん
2017/12/09(土) 19:05:02.00ID:9A22gNCm
>>315
ミスじゃないけどGCでイライラしそう
319デフォルトの名無しさん
2017/12/09(土) 19:14:58.17ID:x4vPcfX+
>>315
速度最適化を気にしすぎないことかな
320デフォルトの名無しさん
2017/12/09(土) 19:22:18.63ID:fpEjaZID
>>315
C++プログラマがC#でよくやる間違い
・クラス名の頭にCを付ける
・名前空間やメソッド名を先頭小文字にしたりアンスコ入れたりする
・using 名前空間; を恐れる
・int を System.Int32 と書きたがる
・ループ大好き
・new を嫌う
・やたらとenumを多用する
・エラーを戻り値で返す
321デフォルトの名無しさん
2017/12/09(土) 19:26:45.34ID:fpEjaZID
あと、
・やたらとでかいクラスを作る
も追加で
C++はクラス定義が面倒なので心理的に大きなクラスを作る癖がつきがち
322デフォルトの名無しさん
2017/12/09(土) 19:39:14.82ID:Avl0kHLY
C#はRADありきで細かい部分はちょくちょくリファレンスを読んで確認するしかない
323デフォルトの名無しさん
2017/12/09(土) 19:42:11.92ID:kSf52iSg
>>320
> ・やたらとenumを多用する
具体的な解説Please。
C#でもよく使うと思うけど。
324デフォルトの名無しさん
2017/12/09(土) 19:51:35.61ID:zCNCLFXW
templateの感覚でGenericを使おうとして発狂する
325デフォルトの名無しさん
2017/12/09(土) 19:55:26.03ID:fpEjaZID
>>323
C++で多態を使うなら便利なRAIIを捨てなくてはならない(スマポを使うこともできるが、普通は可能なら避けたいと考える)
多態を使う心理的ハードルが高くなるわけだ
326デフォルトの名無しさん
2017/12/09(土) 20:41:18.42ID:1hSvWs3J
>>318
かなり持続性を求めるアプリ?FullGCの影響くらうのって1秒くらいだよね?
327デフォルトの名無しさん
2017/12/09(土) 20:44:23.80ID:LewaYlvd
地雷原のC++を歩けるなら舗装道路のC#なんか楽勝だろと思うけど、
落とし穴があるとしたらこういう驕りかもしれんね。

C#出た頃C#によく分からん難癖付けてたのはJavaな人で、C++erはむしろ
好意的な評価の人が多かったような気がするから考えすぎかもしれんけど
328デフォルトの名無しさん
2017/12/09(土) 20:46:31.46ID:kSf52iSg
>>325
それとenumに何の関係が?
329デフォルトの名無しさん
2017/12/09(土) 21:10:41.34ID:jyWlwvil
>>326
1秒ももたついたらクソゲーの烙印押されと思うぞ
330デフォルトの名無しさん
2017/12/09(土) 21:16:00.04ID:DLrsngiD
ゲーム開発かよ
331デフォルトの名無しさん
2017/12/09(土) 21:31:07.48ID:kSf52iSg
動画でも音声でもリアルタイム処理が必要な場合は1秒でも止まると困るね。
332デフォルトの名無しさん
2017/12/09(土) 21:36:14.68ID:bldOuh/e
10秒に一度ぐらいずつ強制gcやっときゃいいよ
333デフォルトの名無しさん
2017/12/09(土) 21:41:11.39ID:LewaYlvd
大昔のPC-98じゃあるまいしそんな止まらないからw
何でGCの話になるといつもこうなのw
何十年前の話をしてるんだよw
334デフォルトの名無しさん
2017/12/09(土) 21:44:43.70ID:CMBXHaeA
GCで体感できるほどもたついたことないな
335デフォルトの名無しさん
2017/12/09(土) 21:53:25.70ID:fpEjaZID
>>328
さすがにenumと多態が結びつかないのはオブジェクト指向の理解不足
336デフォルトの名無しさん
2017/12/09(土) 21:56:19.74ID:DLrsngiD
>>335
分からないから詳しく
337デフォルトの名無しさん
2017/12/09(土) 22:01:20.70ID:bldOuh/e
enum継承できねーから使わねーよ
338デフォルトの名無しさん
2017/12/09(土) 22:03:05.57ID:DLrsngiD
>>337
そういうことか
339デフォルトの名無しさん
2017/12/09(土) 22:06:49.31ID:LNYXpqZE
んー、それでもC++の人が多用するって理由とそれがC#じゃ間違いって理由がよくわからん。
340デフォルトの名無しさん
2017/12/09(土) 22:09:24.80ID:DLrsngiD
>>339
C++使いは多態を使いたがらないから、多態使わないならenumをなんの懸念もなく使えるから使いまくるってことかな?
341デフォルトの名無しさん
2017/12/09(土) 22:12:55.12ID:CMBXHaeA
この流れは質問に対して必要なのか?
後今更だが
>>320
>・名前空間やメソッド名を先頭小文字にしたりアンスコ入れたりする
これは非推奨だがビルドが通るので間違いとは言えない
342デフォルトの名無しさん
2017/12/09(土) 22:13:29.50ID:jyWlwvil
enum を継承? w
343デフォルトの名無しさん
2017/12/09(土) 22:15:27.00ID:DLrsngiD
>>341
エラーじゃないならいいってことならそれ以外のやつも当てはまるだろ?
なぜそれだけピックアップしたんだ?
344デフォルトの名無しさん
2017/12/09(土) 22:17:17.61ID:CMBXHaeA
>>343
他は知らん
345デフォルトの名無しさん
2017/12/09(土) 22:20:10.10ID:DLrsngiD
>>342
クラスの中にインナーenum(?)を定義したら、そのクラス継承してもそのenumが未定義になるってことかな?
346デフォルトの名無しさん
2017/12/09(土) 22:28:13.72ID:Er9Ndq7R
最近enumが~って言う初心者が一人紛れ込んだだけだから
相手にしなくていいよ
347デフォルトの名無しさん
2017/12/10(日) 00:39:39.78ID:okOunyow
言語そのものの事ではないのだけど。

Windows10 の PC に入れっぱなしにしてた VS Community 2015 で C# で Webアプリ(MVC)の新規プロジェクトを作成して、
それをそのままビルド→実行するとブラウザが起動して(これは当たり前)、
サーバーエラーとなって「指定された引数は、有効な値の範囲内にありません。」て表示する&
ダイアログで「Mirosoft.VsHub.Server.HttpHost64.exeは動作を停止しました」って出ます。
HttpHost64.exeの方は連続して出てて、 KB3090034 を当てたら最初の1回だけになりました。

原因が分からないので同じような症状を経験、解決した人か心当たりのある方がいたら対処法を教えて欲しいです。
348デフォルトの名無しさん
2017/12/10(日) 02:07:22.55ID:40kmfkZ7
これは?
http://northbrain.org/?p=1503
349デフォルトの名無しさん
2017/12/10(日) 10:45:19.56ID:+bg1ulUg
enum大好きな人多いよね
350デフォルトの名無しさん
2017/12/10(日) 10:51:21.68ID:cFJQGF3i
処理結果表すのに文字列やint使いたくないからenum使っているけど、他に良い方法あるかな?
351デフォルトの名無しさん
2017/12/10(日) 10:56:20.84ID:OKZOYtiA
>>350
設計の筋が悪いんだと思うよ
たとえばデータ取得処理が返すべきは成功コードorエラーコードではなく
取得したデータそのものであり、失敗したら例外を投げる
352デフォルトの名無しさん
2017/12/10(日) 10:59:35.44ID:cFJQGF3i
ごめんなさい、例の子呼んじゃいました・・・
353デフォルトの名無しさん
2017/12/10(日) 11:19:22.17ID:klwCxkV9
死ね
354デフォルトの名無しさん
2017/12/10(日) 11:22:56.63ID:zEFqnqTD
質問があいまいな上に答えてもらった相手を例の子呼ばわりって何がしたいんだろう
文字列とint対応させて作りたいのならenum使うの自然だし変えようとしたらその設計変えるしかないわ
355デフォルトの名無しさん
2017/12/10(日) 11:23:21.91ID:7Si01GpM
なんでこうも例外は嫌われなきゃいけないのか
356デフォルトの名無しさん
2017/12/10(日) 11:24:00.35ID:DEQ8njbJ
あいつが召喚されるから
357デフォルトの名無しさん
2017/12/10(日) 11:24:37.45ID:1RSLLPBx
>>350
オブジェクトを返せばいいよ
358デフォルトの名無しさん
2017/12/10(日) 11:25:55.23ID:1RSLLPBx
例外を使えないならOOPやめたほうがいい
というかプログラマやめたら?
同僚からしたらすげえ邪魔なんだけど
359デフォルトの名無しさん
2017/12/10(日) 11:27:29.98ID:zEFqnqTD
>>355
>>358
例外の話じゃなかったのに処理結果=例外なんだ
360デフォルトの名無しさん
2017/12/10(日) 11:31:38.35ID:1RSLLPBx
>>359
一般論的に言って例外使えない子は退職して欲しいってだけだよ
>>354に対する答えは>>358で出してるでしょ
361デフォルトの名無しさん
2017/12/10(日) 11:32:45.27ID:K5F4H8OZ
例外も内部にステータス持つなら同じことだから、要はenumのかわりにクラスを使えということなんだろう。
必ずしもそれが筋が良いとは思わんけどな。
362デフォルトの名無しさん
2017/12/10(日) 11:36:28.15ID:zEFqnqTD
>>360
例外使えないとか使わない前提じゃないけどもう日本語通じないか
ファイルダイアログも使ったことないんだろうね
363デフォルトの名無しさん
2017/12/10(日) 11:36:52.38ID:1RSLLPBx
>>360
>>359
>一般論的に言って例外使えない子は退職して欲しいってだけだよ
>>354に対する答えは>>358で出してるでしょ

安価ミス
>>354に対する答えは>>357で出してるでしょ
364デフォルトの名無しさん
2017/12/10(日) 11:38:37.58ID:zEFqnqTD
>>363
ああごめん
アンカーまともに判断して意味不明な煽りだと勘違いしたわ
365デフォルトの名無しさん
2017/12/10(日) 11:55:32.54ID:7Si01GpM
enumで戻り値を返した先にはswitch~case文の羅列が待っている
それは、オブジェクト指向として美しくない
とか言って見る
366デフォルトの名無しさん
2017/12/10(日) 12:15:32.85ID:I3oRkg9y
>>349
エナム?イーナム?
367デフォルトの名無しさん
2017/12/10(日) 12:16:06.09ID:fCk6aJzv
メソッドの結果が何種類かある
どの結果なら何をするかはメソッド自体は知らない
なのでenumを返してクライアントに判断してもらう
って理由でenumならなんの問題もない
enum switch地獄に陥るのはクライアントの実装の問題なので解消できる問題だな

イベントでもいいけどイベントは管理しにくいからできれば避けたい
368347
2017/12/10(日) 12:24:22.81ID:okOunyow
>>348
ありがとうございます。
HttpHost64.exe のエラーダイアログは出ないんですが、「指定された引数は、有効な値の範囲内にありません。」は同じでした。
本当になんなんだろう。。
369デフォルトの名無しさん
2017/12/10(日) 12:25:57.85ID:w7IPLNC5
そんなもん地獄でもなんでもないわw
大袈裟なやつだなw
370デフォルトの名無しさん
2017/12/10(日) 12:42:01.80ID:hfoTCgp6
なんでEnumダメなん?.NET標準ライブラリでもよく使われてるやん
371デフォルトの名無しさん
2017/12/10(日) 12:44:31.00ID:KNXh5gp+
補完効くから便利だもんね
switchとか全部書いてくれるし
372デフォルトの名無しさん
2017/12/10(日) 13:02:49.80ID:Lqf3YhZb
>>365
その主張一時期流行ったけど、今になって冷静に考えると
かなり羹に懲りて膾吹いてる感がある
373デフォルトの名無しさん
2017/12/10(日) 13:08:33.64ID:1RSLLPBx
ケースバイケース
microsoftが使ってれば万能というわけでもないし使ってなければダメというわけでも無い
374デフォルトの名無しさん
2017/12/10(日) 13:24:00.94ID:TdgJU12g
ダメって言ってる奴の頭がおかしいだけ
enum の継承とか意味わからんし
375デフォルトの名無しさん
2017/12/10(日) 13:31:07.35ID:Xq7qpXg6
>>374
ステートマシン作ってそのクラスを継承すると欲しくなる
376デフォルトの名無しさん
2017/12/10(日) 13:33:07.99ID:1RSLLPBx
ダメとは言わないがコード整理するとenumが自然と消える
377デフォルトの名無しさん
2017/12/10(日) 14:00:03.48ID:K5F4H8OZ
どこでどういうタイミングで消えるのか興味深い
378デフォルトの名無しさん
2017/12/10(日) 14:11:52.06ID:1RSLLPBx
>>377
例えばこういう感じ

void ExternalCode(MyEnum e) {
int x = 0;
if (e == MyEnum.A) x = 1;
if (e == MyEnum.B) x = 2;
Console.WriteLine(x) }



static class MyEnumEx {
public static int GetX(this MyEnum e) {
if (e == MyEnum.A) return 1;
if (e == MyEnum.B) return 2;
return 0; } }

void ExternalCode(MyEnum e) {
Console.WriteLine(e.GetX()); }



class MyEnumBase {
public virtual int GetX() { return 0; } }
class MyEnumA : MyEnumBase {
public override int GetX() { return 1; } }
class MyEnumB : MyEnumBase {
public override int GetX() { return 2; } }

void ExternalCode(MyEnumBase e) {
Console.WriteLine(e.GetX()); }
379デフォルトの名無しさん
2017/12/10(日) 14:20:47.04ID:K5F4H8OZ
ありがとう。
言いたいことはわかったけど、それって整理されたの?という疑問は残る。

この例だとenumで分岐されるのがint xという単一の値を決定する処理だけだけど、
ExternalCode() には class MyEnumEx を用意して、MyEnumを使う別の処理には
また別のclassを用意して、ってなるわけだよね。
380デフォルトの名無しさん
2017/12/10(日) 14:23:46.87ID:KNXh5gp+
君のenumの使い方がそもそもおかしいだけで、普通はオプション的なものに使うからそうはならないだろう
381デフォルトの名無しさん
2017/12/10(日) 14:44:45.17ID:1RSLLPBx
>>379
ならないわけだよ

MyEnumに関する責務が分散していることが問題だから整理して凝集させるわけだ
それなのに責務をまた複数のクラスに分散させてちゃ意味が無いだろう

別の場所でyを取得する処理が書かれてるなら
class MyEnumBase {
public virtual int GetX() { return 0; }
public virtual int GetY() { ... }
}
というように拡張していけばいい
382デフォルトの名無しさん
2017/12/10(日) 14:50:12.52ID:o/NiMYKz
>>375
サブステートを定義するとかしかやりようがないような気がするけど...
enum 使わなきゃ綺麗に書けるの?
383デフォルトの名無しさん
2017/12/10(日) 15:30:45.08ID:hRp3Q2MJ
>>368
最新の2017でないのなら専用スレで聞け
Visual Studio 2015 Part8
http://2chb.net/r/tech/1484855822/
VSは複数バージョン入れると干渉して稀に不具合起きるらしいけどその辺は自己責任
384デフォルトの名無しさん
2017/12/10(日) 16:01:41.00ID:K5F4H8OZ
>>381
そこ集めちゃうの?という印象。
たとえば enum System.IO.FileMode のようなものを class で置き換えるとした場合、せっかく
抽象化したのに操作対象毎に異なる実装をそこに全部書くことを想定しているんだろうか。
385デフォルトの名無しさん
2017/12/10(日) 16:32:25.95ID:1RSLLPBx
>>384
操作対象はインターフェースで分離する
FileModeはFileModeに関連する責務だけを担当する
操作対象に関する責務はFileModeには無い
386デフォルトの名無しさん
2017/12/10(日) 16:41:37.05ID:1RSLLPBx
むろん全てのenumをオブジェクトにすべきと言ってるわけではない
ビジネスレイヤではオブジェクトにしたほうが良い場面が圧倒的に多いが
単なるフラグセットとみなしたほうが有利な場面もそりゃあるだろう
387デフォルトの名無しさん
2017/12/10(日) 16:56:48.76ID:K5F4H8OZ
>操作対象に関する責務はFileModeには無い

だからね、例えばローカルファイルとネットワークドライブ上のファイルとで同じFileModeに対する
操作手順が異なるとした場合、それをどこに実装するかって話。
1つの class Enum に実装するのは論外として、インターフェースと実装クラスに分離するなら>>379の通り。
あるいはFileクラスに掛かる実装は class Enum 側に持たないというならenumのままでもいいじゃん、となる。

>>386
結局そうだよね。圧倒的かどうかは知らんけどw
388デフォルトの名無しさん
2017/12/10(日) 16:57:04.47ID:AsjcCxkl
xがなにで1と2でどう違うのか分からんが
まずxをクラス(か構造体)にするべきだと思うんだが
389デフォルトの名無しさん
2017/12/10(日) 16:59:10.81ID:1RSLLPBx
>>388
大した意味のないサンプルに深入りするの馬鹿馬鹿しくない?
390デフォルトの名無しさん
2017/12/10(日) 17:11:04.47ID:QtRE0gJ3
ほらキチガイが湧いたwww
391デフォルトの名無しさん
2017/12/10(日) 17:14:47.78ID:IOEOCVr0
例外も列挙体もLINQもインタフェースもイラネってかwwwwww
392デフォルトの名無しさん
2017/12/10(日) 17:31:58.06ID:klwCxkV9
死ねで終わらせとけばいいのに相手しやがって死ね
393デフォルトの名無しさん
2017/12/10(日) 17:55:36.64ID:CnpEkAKU
昔流行ったswitchを無くせって話は、元々はJavaみたいな関数ポインタもデリゲートも使えない言語で
ジャンプテーブルをどうやって実現するかって話(要するにいかに効率化するかって目線の話)
だったと思うんだけど、それが途中からこじつけか何か知らんけどOOP敵に美しいとか正しいって
話にすり替わった印象しかないね。

そりゃ多態使ってswitch無くした方が美しく可読的に書ける場合もあるけど、
そうじゃない場合の方が圧倒的に多い。

要するに上にも書いたけど、羹に懲りて膾を吹く類の話だよね。
今でもこういうこと言ってる人の話は真に受けちゃダメだと思う
394デフォルトの名無しさん
2017/12/10(日) 18:11:31.06ID:u72ghqtY
enumをクラス化でシンプルにできるのはシングルのenumで状態が決まる場合
複合的な状態を持ってるとまあ理解に苦しむコードになるよ
ifとswitchのほうが読みやすく理解しやすいならそっちを使えばいい
395デフォルトの名無しさん
2017/12/10(日) 18:13:44.60ID:o/NiMYKz
>>389
例示されたサンプルがおかしいって言われてるって言うことをそろそろ気づこうか
396デフォルトの名無しさん
2017/12/10(日) 18:15:53.82ID:40kmfkZ7
しょーもな
首吊って死ねば?
397デフォルトの名無しさん
2017/12/10(日) 18:30:36.92ID:1RSLLPBx
>>393
オブジェクト指向をやるならカプセル化や単一責務は基本中の基本
enum switchはそれを全部ぶち壊しにする
だからやめとけって世界中で言われてんだよ
398デフォルトの名無しさん
2017/12/10(日) 18:39:54.73ID:u72ghqtY
それは使い方が悪いだけだよ
399デフォルトの名無しさん
2017/12/10(日) 18:41:44.28ID:o/NiMYKz
>>397
お前の狭い世界はどうでもいい
400デフォルトの名無しさん
2017/12/10(日) 18:45:22.58ID:1RSLLPBx
まあ初心者スレだしOOPわからんってのも仕方がないか…
何年後かには理解できてると思う
401デフォルトの名無しさん
2017/12/10(日) 18:47:16.85ID:u72ghqtY
>>378
このコートの最初が悪くてあとが良いとは限らないと思うが

これ100個あったとして
どこぞの言語みたいに一クラス一ファイル縛りがあったら100個ファイルが必要

それに見通しが非常に悪い
switchも見通しが悪いけど100個のクラスの100メソッドを検索で渡るよりまし
402デフォルトの名無しさん
2017/12/10(日) 18:49:15.44ID:u72ghqtY
状態によって見やすいコードはかわるけどswitch==悪はfalseだろ
403デフォルトの名無しさん
2017/12/10(日) 18:52:06.23ID:40kmfkZ7
>>402
404デフォルトの名無しさん
2017/12/10(日) 18:52:09.72ID:in4pjWGE
雑談スレか
405デフォルトの名無しさん
2017/12/10(日) 18:55:12.88ID:1RSLLPBx
>>401
すまんがまず100このenum値って時点で設計ミスだと思うぞ
普通の業務ロジックでそんな区分分けみたことないわ

大量のenumといったらせいぜいリソースIDのラベル化とか?
そんなんまでクラス化はしないよ
なんでもクラス化するわけじゃないってなんどもレスしてるよね?

まあ仮に区分が膨大な場合でもそれがビジネス上の振る舞いを持つならクラスにしたほうがいいぞ
クラスにしたら見通し悪いっていうけど
そりゃビジネスそのものが見通し悪いんだから仕方がないか
クラスっていう保護がなければもっと悲惨なことになる
406347
2017/12/10(日) 18:55:31.09ID:okOunyow
>>383
誘導ありがとうございます。
407デフォルトの名無しさん
2017/12/10(日) 18:57:52.94ID:u72ghqtY
もともと責務と言いながら
状態を伝えるだけのenumをクラスに拡張しちゃって責務の内容を広げっちゃって
保守性を落としてるんだからまだまだだね
408デフォルトの名無しさん
2017/12/10(日) 18:59:10.78ID:u72ghqtY
>>405
1つ目と3つ目を比べると1つ目のほうがすぐれたコードだと思う

理解しやすい

それ以上優れてる理由はない
409デフォルトの名無しさん
2017/12/10(日) 19:02:50.61ID:1RSLLPBx
enumが100個あってシステムのあっちこっちに分岐があります
仕様が変わりました値Aの仕様が変わりました

enumの場合:
システムをenumのAで検索
あっちこっちでヒットしたコードを慎重に整合性を確認しながら修正
もしかしたら見逃しがあるかもしれないと不安を抱えながら作業
Aを修正してるのに周りの他の値の場合の処理が凄まじいノイズになってめまいがする
コードが他の責務に埋め込まれてるのでテストは容易ではない

クラスの場合:
派生クラスAが定義されてるファイルを開く
1つのファイルに集中できるので楽々修正
Aに関する処理は全部このファイルにあるので見逃しも無い
他の値の処理が周りに無いのでクリアな視界で作業可能
クラスになってるのでテストは超簡単
410デフォルトの名無しさん
2017/12/10(日) 19:07:08.35ID:1RSLLPBx
enum値が削除されたら?
新しいenum値が追加されたら?
クラス化されてないと超しんどいぞ
システムにばら撒かれたenum100個なんて管理しきれないよ
OOPの言語と開発環境ならクラス100個は楽勝で管理できるけどな
411デフォルトの名無しさん
2017/12/10(日) 19:07:59.48ID:u72ghqtY
>>409
クラスを使うべき時は使う
そうじゃないときはswitch enumでも十分
412デフォルトの名無しさん
2017/12/10(日) 19:09:21.56ID:HHgBYreh
enumなんて存在すら忘れてた
もうクセでデータ保持するクラス作っちゃってたわ
やっぱ固定値の列挙はenumの方がええんやろか
413デフォルトの名無しさん
2017/12/10(日) 19:10:43.29ID:1RSLLPBx
>>411
それでいいよ
ビジネスが入り組んできたらクラスにリファクタリングすればいい
俺は最初からクラスにしてるけどね
414デフォルトの名無しさん
2017/12/10(日) 19:13:57.59ID:o/NiMYKz
>>410
> システムにばら撒かれたenum100個なんて管理しきれないよ
enum 使ったことないのか?
なんか実務を知らないのに
http://iwa4.hatenablog.com/entry/2013/03/04/180521
とかを見て switch は悪 ⇒ enum 不要
とか拗らせてるって感じ w
415デフォルトの名無しさん
2017/12/10(日) 19:16:05.80ID:KNXh5gp+
enumをクラスにするという考えがあることが根本的な設計のセンスの無さを感じる
416デフォルトの名無しさん
2017/12/10(日) 19:18:31.13ID:u72ghqtY
そのenumを置き換えたクラスを使う場所が100個あって後段でそれぞれ違う処理(メソッド)が必要なら
100個のクラス*100のメソッド=10000必要になる
本当に管理しきれるのかな

記号は記号でしかないと思う
417デフォルトの名無しさん
2017/12/10(日) 19:23:13.06ID:1RSLLPBx
君たちはさC#を使ってるけどOOPはできてないんじゃないかな?
たぶん昔ながらの手続き型のパラダイムから進歩してない
フィールドやプロパティは丸出しで
データベースの物理構造を色濃く反映したDTOを
ネストしまくり分岐しまくりのやけに長いトランザクションスクリプトで処理する
そんなコードばかり書いてるんだろ?
418デフォルトの名無しさん
2017/12/10(日) 19:27:02.30ID:1RSLLPBx
>>416
仕切れるよ
疎結合高業務で責務がしっかり分けられてるからね
というかそれで管理できなかったらクラスという枠組みを失い無秩序状態になった同じ数(経験上もっと多くなるが)の処理なんて余計に管理できないだろ
419デフォルトの名無しさん
2017/12/10(日) 19:28:10.84ID:RKQe6ZfS
>>417
キミ自身、キミの言う「昔ながらの手続き型のパラダイム」でキミの考える最強の「OOP」をしとるんやで
もう少し脳を鍛えようか?ね?
420デフォルトの名無しさん
2017/12/10(日) 19:28:59.49ID:0VP/mrFZ
滅茶苦茶レベルの低いところで仕事してるんだろうなあってのは伝わってくる
421デフォルトの名無しさん
2017/12/10(日) 19:29:31.44ID:K5F4H8OZ
>>418
いや、あんたの主張は疎結合どころか、enum相当のクラスに結合しまくりだろう。
422デフォルトの名無しさん
2017/12/10(日) 19:32:15.18ID:1RSLLPBx
>>421
疎結合だよ
クラスにすればenumを使う側はenumの振る舞いの実装を知らなくていい
クラスにすればある値と他の値の処理が同じスコープで干渉しなくて済む

こんな基本もわかってないんだよなぁ
ま、初心者スレってことか
423デフォルトの名無しさん
2017/12/10(日) 19:36:46.16ID:O8bRFaEo

   ̄ヽ、   _ノ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
     `'ー '´
      ○
       O
          ,.- ‐── ‐- 、
            ,r'´            `ヽ   
           ,イ              jト、   
        /:.:!       j     i.::::゙,  
          i:.:.:|    _,,    ,、--、  !:;;;;|  
         |;;;;j ,r''"二ヽ   r'⌒ヽ  !;;;!   
       ,ヘ;;i! ,,_r ・,ン.:!  {〈・_,>、,, jヘi!   
       〈 j>j、   "´, イ   `ヽ  ,':::〉!  
        `ゝ.`,     ノ、__,入   j::rソ  
           `゙i   / ,r===ュ, `,  '.:〔_  
             }!  ! i.:::::::::::.:! ;!  .!::::j::`` ー----─r- 、
           , イ.:ト、   ゙===='′ ,イ!:::::!::.:.:.:.       ゙,  `ヽ
       _ノ /j.:::!:トヽ、 ´ ̄` ,ノ´ ,リ::::.:!:::.:..      i.    \  
     ,.r'´  /.::!:::::::| `ヽ`"""´ /ノ.:.:.:.:.::!:.:.         |     !
   /      .:|.:.:.:::ト、 リ   /     !:.         !     |
  /       l  , へ\!  /'7ヽ    |:        j       |
. /           l/^ヾ:::ト、!  j! l  〉、   |        | .      |
/       i       .::| i|  j! | /  `ー'′       ! j!      !
424デフォルトの名無しさん
2017/12/10(日) 19:38:51.23ID:40kmfkZ7
はい!
ID:1RSLLPBxの勝ち!w
おまえらドンマイw
425デフォルトの名無しさん
2017/12/10(日) 19:40:38.39ID:0VP/mrFZ
enumの使い所を間違えるようなレベルの人間でないと共感は得られないと思う
426デフォルトの名無しさん
2017/12/10(日) 19:41:38.15ID:lTpNuF7F
と、中身のないレスをしてみるのであった。
427デフォルトの名無しさん
2017/12/10(日) 19:46:34.91ID:YjUTAOlB
ステータス(状態)をクラスにしちゃうと色々と説明が必要になっちゃうけどな
もっと素直に設計できねぇの?
お前らの剣は無駄な動きが多過ぎる
428デフォルトの名無しさん
2017/12/10(日) 19:49:25.32ID:+dBvFTXH
すみません。質問ですが、例外とエラーの違いって何ですか?
429デフォルトの名無しさん
2017/12/10(日) 19:49:27.62ID:0VP/mrFZ
状態に複数の要素が絡んだ時、彼はどうクラスを設計するだろうか
430デフォルトの名無しさん
2017/12/10(日) 19:51:18.85ID:40kmfkZ7
>>425
>>427
>>429
負け惜しみが見苦しすぎるw
431片山博文MZ ◆T6xkBnTXz7B0
2017/12/10(日) 19:52:02.61ID:M7uFif4k
例外は制御がぶっ飛ぶやつ。
エラーは、正常に処理ができなかったという意味。
432デフォルトの名無しさん
2017/12/10(日) 19:57:13.54ID:NAV3AZ5L
状態数も20くらいまでなら把握できるが…それ以上はいやだねえ…
433デフォルトの名無しさん
2017/12/10(日) 19:58:57.63ID:in4pjWGE
>>428
ここで言っている例外はtry-catchでcatchで受けられる処理(Application Exceptionの類)の話
そのエラーの意味が何に対するエラーなのかわからないので違いは説明できない
434デフォルトの名無しさん
2017/12/10(日) 19:59:05.93ID:0VP/mrFZ
enumだらけの.net frameworkを、enumじゃなくてクラスにしろよなんて思いながら使ってないだろうよ
435デフォルトの名無しさん
2017/12/10(日) 20:01:31.79ID:1RSLLPBx
>>434
ベーシックライブラリと業務システムのドメインロジックを同じ感覚で書くプログラマは居ないよ
436デフォルトの名無しさん
2017/12/10(日) 20:04:07.99ID:0VP/mrFZ
>>435
だから普通は使い所をわかってるから、こんなこと何の議論も起こらないよねって話じゃん
437デフォルトの名無しさん
2017/12/10(日) 20:04:55.70ID:40kmfkZ7
からからうっせーよ死ねや
438デフォルトの名無しさん
2017/12/10(日) 20:14:56.93ID:1RSLLPBx
>>436
わかってないからなここの初心者連中
439デフォルトの名無しさん
2017/12/10(日) 20:17:38.09ID:in4pjWGE
このスレ来ている時点でみんな初心者。スレタイに「初心者用」ってちゃんと書いてあるから
440デフォルトの名無しさん
2017/12/10(日) 20:41:13.41ID:o/NiMYKz
初心者ならいいんだけど、初心者を卒業したと勘違いしてる ID:1RSLLPBx が痛々しいだけ
441デフォルトの名無しさん
2017/12/10(日) 20:42:45.81ID:1RSLLPBx
今日は負け惜しみを沢山見たが反論は少なかったなぁ
442デフォルトの名無しさん
2017/12/10(日) 20:57:11.24ID:gQySa/bC
キチガイにふれるなよ
443デフォルトの名無しさん
2017/12/10(日) 21:46:32.27ID:Uujd9YQH
計算量の観点で比較すると
switchはコンパイラが2分探索にしてくれる場合がある O(log2(N))
クラス化はインスタンス生成された時点で仮想関数テーブルが紐付く O(1)+ディスパッチのコスト
で合ってる?
444デフォルトの名無しさん
2017/12/10(日) 21:54:10.74ID:bPupZbt5
>>443
switch でも状況によってジャンプテーブルにしたりするんじゃね?
445デフォルトの名無しさん
2017/12/10(日) 22:12:18.04ID:Uujd9YQH
>>444
C#はジャンプテーブルも使うみたいですね
この比較はあんま意味ない気がしてきたので閉めます
446デフォルトの名無しさん
2017/12/10(日) 22:28:48.38ID:klwCxkV9
俺以外でここまで書き込んだ奴は明日朝一で中央線に飛び込んで死ね
447デフォルトの名無しさん
2017/12/10(日) 22:37:53.36ID:8I95hEEE
仮想メソッド呼び出しはJITがインラインキャッシュで展開するからコストはほぼゼロのはず
448デフォルトの名無しさん
2017/12/10(日) 22:38:00.15ID:/a8M7Ljd
>>446
板違い。メンタルヘルス板に行け
449447
2017/12/10(日) 22:39:14.02ID:8I95hEEE
補足
展開っていってもインライン展開するわけじゃないよ
静的なメソッド呼び出しに置き換えるということ
450デフォルトの名無しさん
2017/12/10(日) 22:54:55.63ID:4CvOnmGy
>>428
例外 ⊂ エラー
451デフォルトの名無しさん
2017/12/10(日) 23:09:05.85ID:NAV3AZ5L
>>449
vtable を間に噛むんじゃないか?
452デフォルトの名無しさん
2017/12/10(日) 23:13:59.68ID:40kmfkZ7
>>450
マ?
453デフォルトの名無しさん
2017/12/10(日) 23:47:37.64ID:u72ghqtY
shapeクラスをベースに持つrectangleとcircleクラスの挙動をswitchで制御してるならOOPに反すると思うけど
確固たる概念も実体もないものをわざわざクラスにしてまでenumを消す理由はない

普通のマジックナンバー代わりの記号がenum
オブジェクト間でクラスがメッセージをenumで渡すだけ
上手に使えばいいだけ
454デフォルトの名無しさん
2017/12/10(日) 23:56:55.90ID:+mi54qJj
あ、もうその話終わってるんで(^^;
455デフォルトの名無しさん
2017/12/11(月) 00:02:40.94ID:4r/Nu0Q4
>>453
お前も勝利宣言しとけよ
明日以降やられてもたまらん
456デフォルトの名無しさん
2017/12/11(月) 00:13:22.40ID:duNhD2vY
実体の無い物をクラスにしたらドキュメント書けよと
それだけだけどな
書かないでやってる奴はギルティ
457デフォルトの名無しさん
2017/12/11(月) 00:24:03.35ID:ZlOMrHZS
メッセージがただの記号だったのにクラスになるとオブジェクトの生成や
必要に応じてライフタイム管理が必要になる

しかも作ったオブジェクトに処理を移譲したり他のオブジェクトを渡したりして新たなオブジェクトと結合が密になる恐れがある
そこまでしないなら記号の受け渡しで済んだものがクラスの管理が増えるだけでメリットは薄い
458デフォルトの名無しさん
2017/12/11(月) 03:52:53.05ID:oxZtEftd
あー、そーゆーのはママに教えてあげてね
459デフォルトの名無しさん
2017/12/11(月) 06:40:10.22ID:6BzZoNtD
>>441
そりゃ反論はガン無視だもんな w
460デフォルトの名無しさん
2017/12/11(月) 08:32:07.64ID:Pz9H8j59
> オブジェクトの生成
状態変わらないのだからpublicなstaticメンバで持てばよい

> ライフタイム管理
そんなに気になるのならstructにすればよい

> 処理を委譲したり(最後まで)
全く意味不明
461デフォルトの名無しさん
2017/12/11(月) 08:37:46.08ID:PAoZtWNN
一晩経っても負け惜しみ言ってるやつ居てわろた
せめて反論したらどうなの?

>>457
メッセージを列挙値で済ませようとする発想がまずチープだがまあいい
RegexOptionsみたいな場合もあるからな
問題はドメインオブジェクトを列挙値で表現してしまうケースな
昨日から議論してんのはメッセージの話じゃないんだよそもそも
君はまだそこを理解してない
462デフォルトの名無しさん
2017/12/11(月) 08:40:03.91ID:Pz9H8j59
どうしてもenumにこだわりたいのなら
Attribute付加
拡張メソッド作る
こんな手段はある
463デフォルトの名無しさん
2017/12/11(月) 08:44:48.49ID:PAoZtWNN
他のオブジェクトとの関連云々ってさ
べつに列挙値からオブジェクトにしたから急に関連が出てきたものじゃないんだよね
ドメインの性質としてもともと本質的に関連があるものなんだよそれは
それがオブジェクトにしたことによって可視化されただけ
列挙値のままだと関連があるのにそれがハッキリと見えず暗黙の結合状態になってるだけ
それはまさに最悪の状態だよ
464デフォルトの名無しさん
2017/12/11(月) 08:50:22.92ID:DFoAuevB
設計書の構造に箱ができないものをクラスにするのはセンスが悪いな
こんなゴミクラスたくさん作っちゃってクラス図でどうやって説明するの?
465デフォルトの名無しさん
2017/12/11(月) 08:56:14.04ID:DFoAuevB
汎用ライブラリにでもぶち込むならともかく
こんな枝葉までクラスにされるとソースの粒度に統一感がでない
ステータスなんかクラスにすんなよ
ドキュメント書くのが面倒くせえだろ
それはイコール他人に説明する手間が増えてることだと気づけよ
どーせドキュメント書かないんだろお前馬鹿だから
466デフォルトの名無しさん
2017/12/11(月) 09:36:16.99ID:SJ7HWrxD
他人に説明するためのドキュメントは確かに書かないな
ソース見たほうが早いし間違いがない

ソースコードが設計書である

俺が馬鹿かどうかに関係なく、
アジャイルやGOAでやるとどこでもそうでしょ
467デフォルトの名無しさん
2017/12/11(月) 09:38:16.34ID:LDcEcB6H
>>466
ワケのわからんソース書くやつに限ってお前みたいなこと言うのな
468デフォルトの名無しさん
2017/12/11(月) 09:41:22.91ID:ibPW1Iwl
ちょっと昔な感じだな
今は当たり前にドキュメントを書いてる時代だと思うけど
469デフォルトの名無しさん
2017/12/11(月) 09:43:28.23ID:oxZtEftd
はいはいご立派ご立派
470デフォルトの名無しさん
2017/12/11(月) 09:48:35.34ID:kESkT9Ub
おはようございます。(改行大杉で怒られたので行間を詰めています。

現在押し付けられて困っていることがありご教示いただければと思っております。
環境:フレームワーク4.71 + MVCフレームワーク5OS:Win2012

現在上記環境で動いているシステムがあり、
いくつかのリクエスト文字列と画像ファイル1つをマルチパートで受け取るシステムがあります。

今回、アンドロイド側のJAVAアプリからデータをマルチパートでPOSTしてくる予定だったのですが
時間不足で実装できないと言われ、データを以下のように送ると言ってきています。
(AndroidといえどJavaと同様なのでマルチパートのOutputStreamを作成して送ってくるだけだと思うのですが…。)
1.ファイルをバイト配列に変換
2.そのバイト配列をBase64エンコード
3.最終的にUTF-8の文字列にして通常のリクエスト文字列として送信
上記の仕様だそうです。
そこで上記の逆手順を…と思い
考えれる範囲で
1.リクエスト文字列をUTF-8バイト配列に変換
2.そのバイト配列をChar[]に変換
3.Char[]をFromBase64CharArrayでバイト配列に変換
とやってみたのですが
System.FormatException: 入力は有効な Base-64 文字列ではありません。
上記例外が当然のように発生します。
単純にアンドロイド側からBase64で送ってもらえればそのままデコードできるのですが
それも突っぱねられて困っています。
そもそもこの逆変換が技術的に不可能なようであれば相手側に強く言うこともできるのですが
その根拠が示せず言い出せません。
1.そもそも可能なのか?
2.手順的にはどのようにするのがよいのか
ヒントだけでも構いませんのでご教示いただければと思っております。
以上です。
471デフォルトの名無しさん
2017/12/11(月) 09:54:06.70ID:LDcEcB6H
>>470
欲しい形の文字列とどう違うのか比較してみろよ
472デフォルトの名無しさん
2017/12/11(月) 10:11:54.42ID:kESkT9Ub
>>471
ありがとうございます。

あぁ、なるほど!
該当ファイルをBase64文字列にして
その差を比較してみて両者が合うように変換していってみる
ということですね。
ちょっとコツコツやってみることにしてみます。
473デフォルトの名無しさん
2017/12/11(月) 11:07:13.45ID:jHA/gkIg
>>470
リクエスト文字列を直接Char[]にせずバイト配列にいったん変える意味が分からない
リクエスト文字列がBASE64の文字列でなければFromBase64CharArrayは使えない
https://msdn.microsoft.com/ja-jp/library/vs/alm/system.convert.frombase64chararray(v=vs.71).aspx/html
474デフォルトの名無しさん
2017/12/11(月) 12:02:38.34ID:0NyrcvQf
switchを無くせって話、WPFとかのMVVMにちょっと似てるね

どっちの場合も原理主義者が主張するような美しい理念がワークするのは、
ある一定の条件というか閾値を超える事例だけであって、それ以外の場合は
かえって可読性とか保守性とかが低下すると思うんだけど、原理主義者がそういう現実を
無視して何にでも適用可能な万能の方法みたいにごり押ししてる感がある
475デフォルトの名無しさん
2017/12/11(月) 12:11:33.55ID:SaVPDOly
多少冗長になっても1つのルールに沿って全部書いた方が読みやすいだろ
476デフォルトの名無しさん
2017/12/11(月) 12:12:00.53ID:LDcEcB6H
もういい加減組めちまってる奴は
次の課題を自分で探さないといけない

プログラムスキルは組めるようになったら
そこでMaxなんだよ
さっさと次の課題を探さないから
どーでもいいことが意味ありそうに思えてくる
477デフォルトの名無しさん
2017/12/11(月) 12:58:53.47ID:WHbaikY8
>>378みたいなケースでswitchをなくせ
って言うのはそりゃそうだなって思うけど
そもそも>>378の最初の方の組み方がおかしいだけでenumの問題じゃない
それを>>378の例だけでswitchをなくせと言うならまだしもenumなくせとか言い出すから頓珍漢なことになってるだけ
478デフォルトの名無しさん
2017/12/11(月) 13:49:25.47ID:jxfuchh+
>>743
レスありがとうございます。
相手が手順的にBASE64のバイト配列をUTF8文字列にして送ってくるようだったのでその手順が必要なのかな…と思いまして。
そもそも何故バイト配列からBASE64の文字列にダイレクトにしなかったのかと…。おもいつつです。
479デフォルトの名無しさん
2017/12/11(月) 15:28:30.74ID:MTsA4uB/
>>470
元の仕様
1.ファイルをバイト配列に変換
バイト配列ができる
2.そのバイト配列をBase64エンコード
ファイルをBase64エンコードした文字列ができる(仕様上UTF-8でもシフトJISでも同じ)
3.最終的にUTF-8の文字列にして通常のリクエスト文字列として送信
これが何の変換かわからない(2.の理由により必要がない)

まず元の仕様を勘違いしていないか?
その上で逆手順のテストコードバグっているから不必要にややこしくなってる
480デフォルトの名無しさん
2017/12/11(月) 15:39:40.21ID:FZFaQSBJ
ファイルをバイト配列に格納→をBase64に変換

Base64をバイト配列に変換→バイト配列をファイルとして保存
481デフォルトの名無しさん
2017/12/11(月) 15:45:33.14ID:MTsA4uB/
>>470
あとBASE64の文字列の長さは4の倍数でConvert.FromBase64CharArrayにそれ以外の長さのChar[]を指定するとエラーになる
不足分を自分で埋める('='で埋める)必要があればそれもやらないと
482デフォルトの名無しさん
2017/12/11(月) 16:00:32.40ID:JAdbtKtz
多分UTF-8のBOMの有無でずれているんだろうな
手順がいくら増えようが不可逆になることはない
483デフォルトの名無しさん
2017/12/11(月) 17:48:13.13ID:s+GYIw+B
>>477
誰もenum無くせとは言ってないぞ
ドメインクラスをenumで表現するなって言ってる
484デフォルトの名無しさん
2017/12/11(月) 18:27:40.38ID:sMdN9sff
ドメインが理解出来ていないからすれ違いのままなのかな
485デフォルトの名無しさん
2017/12/11(月) 19:55:13.88ID:WHbaikY8
>>483
お前が誰か知らんけど

>>376
> ダメとは言わないがコード整理するとenumが自然と消える

とか言ってたアホがいるって話
486デフォルトの名無しさん
2017/12/11(月) 20:33:38.88ID:hCIPbzdz
>>485
外人?
ダメともなくせとも言ってないじゃん
487デフォルトの名無しさん
2017/12/11(月) 20:53:07.48ID:WHbaikY8
はいはい、言葉尻にしか反論できないってことね
可哀想だな w
488デフォルトの名無しさん
2017/12/11(月) 22:32:51.43ID:g6aSF5Tx
やれやれ
489デフォルトの名無しさん
2017/12/11(月) 22:54:45.84ID:Mf9o9uwW
あれあれ
これは言葉尻ではない気がする
490デフォルトの名無しさん
2017/12/11(月) 22:59:42.23ID:SJ7HWrxD
goto文をなくせの頃から何にも変わってないな

gotoをなくせ
enumをなくせ
switchをなくせ
シングルトンをなくせ
ヘルパークラスをなくせ

一応どれも正しい
間違ってはいない

でもこういうルールは別に守らなくてもいい
どうでもいいルールなんだよ

DRY原則とかOpen/Close原則とかの設計原則の方がより重要あってね
491デフォルトの名無しさん
2017/12/11(月) 23:06:06.50ID:+NqpgsqU
どっちでもどうでもいいよ
どうせ動くんだし
テストをしっかりすればいいだけ
492デフォルトの名無しさん
2017/12/11(月) 23:22:47.89ID:Mf9o9uwW
gotoとenumの間にはかなり差がある気がする
前方へgotoは絶対悪だから使用厳禁
ドメインのenumと同じかw
もうちょっと緩いと思うが
switchはパターンマッチとして使うのは推奨なご時勢だけどC#のswitch構文は力不足だね
493デフォルトの名無しさん
2017/12/11(月) 23:36:59.61ID:izyLx6FJ
gotoは後方への方が凶悪だろ
前方だけに使う分にはbreakやtry-catchと大差ない
494493
2017/12/11(月) 23:40:04.94ID:izyLx6FJ
書いてから気付いたが前方参照の意味での前方か
失礼
495デフォルトの名無しさん
2017/12/11(月) 23:43:50.74ID:wiZ77PPl
>>490
ルールと呼ぼうが原則と呼ぼうが本質は何も変わらんよ
要するにバカの暴走を制限する為の足枷でしかないw
496デフォルトの名無しさん
2017/12/11(月) 23:54:41.55ID:SJ7HWrxD
>>495
〇〇をなくせというルールが馬鹿にたいする足枷でしかないのは全くその通り
だから俺みたいな賢人にはどうでもいい

逆に馬鹿に設計原則は理解出来ないだろう
SOLID原則が理解出来るならそいつは馬鹿ではない
497デフォルトの名無しさん
2017/12/12(火) 00:01:45.14ID:98iDbaWn
>>496
表面的な理解で原理主義に陥いってしまう奴は沢山いるし
本質的にそいつはバカなんだと思うよw
それは理解してないのだと言われればそれまでだがw
498デフォルトの名無しさん
2017/12/12(火) 00:04:06.99ID:4TJt3MwM
質問と関係ないレスどこまで続けんの
相談室行けよ
499デフォルトの名無しさん
2017/12/12(火) 00:13:24.19ID:Vo2kP02L
バカにされて色々悔しかったんだろ、察してやれや
500デフォルトの名無しさん
2017/12/12(火) 00:26:32.44ID:98iDbaWn
抽象的な話になると必ずこういうレスがつくなw
これもバカの典型w
501デフォルトの名無しさん
2017/12/12(火) 01:19:52.30ID:sZfK5OGe
enum不要っていう馬鹿らしい主張は全然聞かない
502デフォルトの名無しさん
2017/12/12(火) 01:31:17.45ID:/hFzA9NO
バカスレ
503デフォルトの名無しさん
2017/12/12(火) 01:33:06.37ID:lIsHmOMn
初心者用スレで難しい話すんなよ
俺みたいな趣味グラマーが楽しめないだろ
504デフォルトの名無しさん
2017/12/12(火) 02:08:48.08ID:YqkrRdmr
しゅみません
505デフォルトの名無しさん
2017/12/12(火) 02:13:45.88ID:5Qo60rlq
しゅき
506デフォルトの名無しさん
2017/12/12(火) 05:04:47.87ID:Vo2kP02L
>>500
必ず?
今まで何度も辛い目に逢ったのかな? w
507デフォルトの名無しさん
2017/12/12(火) 09:32:06.37ID:enzDDAPg
10年以上いたら辛いこともあるだろ
508デフォルトの名無しさん
2017/12/12(火) 09:55:36.90ID:B9ezHy21
>>506
一晩越してもまだ悔しいんかw
509デフォルトの名無しさん
2017/12/12(火) 13:01:20.73ID:55mcEBCK
>>508
お前がな w
510デフォルトの名無しさん
2017/12/12(火) 21:31:34.33ID:CwRQgOlO
tensorflow+keras+c#で
エロ画像を自動分類するソフトを
作って欲しいと頼まれたんだけど
c#から出来そうですか?

参考になるサイトないですか?
511デフォルトの名無しさん
2017/12/12(火) 21:36:58.22ID:Hba1R6el
特徴量でググりまくれ
512デフォルトの名無しさん
2017/12/12(火) 21:52:35.56ID:NQyVP+w1
>>510
C#以前に個人レベルじゃ無理です
そういうことはデカいところに任せましょう
513デフォルトの名無しさん
2017/12/12(火) 21:57:23.48ID:CwRQgOlO
>>512
日経ソフトウェアの記事で
桜、ヒマワリ、バラの判別をやってる
プログラムがあるんで
これをエロ画像に置き換えて
c#からできればいいかなぁ?と
514デフォルトの名無しさん
2017/12/12(火) 22:03:01.97ID:+ghxhmVd
エロがそんな単純だと思うなよ
515デフォルトの名無しさん
2017/12/12(火) 22:03:38.97ID:NQyVP+w1
>>513
内容次第だと思うが何をどう分類したいのか?がはっきりしないと
分類できない


ひまわり
バラ
の様に特徴が特定しやすい分類なのか?
516デフォルトの名無しさん
2017/12/12(火) 22:06:27.53ID:yoDcG/vu
>>513
アルゴリズムを作るところからやってみて話はそれから
とりあえずC#にそんなライブラリは無いので他のスレへどうぞ
517デフォルトの名無しさん
2017/12/12(火) 22:06:56.72ID:CwRQgOlO
>>515
人妻、NTR、レ○プ
518デフォルトの名無しさん
2017/12/12(火) 22:08:56.23ID:+ghxhmVd
絵で区別できねーだろそれ
519デフォルトの名無しさん
2017/12/12(火) 22:09:56.75ID:CwRQgOlO
>>518
でもなんとなくわかるだろ?
人間だと
520デフォルトの名無しさん
2017/12/12(火) 22:12:39.20ID:+ghxhmVd
無理 付いてる字幕次第で印象が全然変わるから
521デフォルトの名無しさん
2017/12/12(火) 22:14:01.82ID:NQyVP+w1
>>517
マジで言ってるのか?
無理無理無理
522デフォルトの名無しさん
2017/12/12(火) 22:15:14.51ID:yoDcG/vu
>>519
なるほど、お前には無理だ
523デフォルトの名無しさん
2017/12/12(火) 22:16:50.37ID:+ghxhmVd
プログラム上で可能なのはせいぜい、
顔の輪郭に対する「目の位置」の違いで、大人か子供かを判別するとか
(二次絵では顔に対して大人は目を上寄りに、子供は目を下寄りに描かれるケースが多い)
そんなもんだろう

んで、どっちにせよ言語仕様の話でなく
画像解析という専門分野行きの話になるのでスレチ
524デフォルトの名無しさん
2017/12/12(火) 22:17:02.32ID:CwRQgOlO
大丈夫だ
ディープインパクトならやってくれる
巨乳にニットセーターってもう人妻だろ
って結論ぐらい出せるだろ
525デフォルトの名無しさん
2017/12/12(火) 22:18:12.64ID:NQyVP+w1
>>523
ディープラーニングはそういうのじゃない分類ができる

でも人間でも一枚絵を見て判断できないのはほぼ無理
526デフォルトの名無しさん
2017/12/12(火) 22:18:48.48ID:yoDcG/vu
>>524
頭にディープインパクトして二度と来るな
527デフォルトの名無しさん
2017/12/12(火) 22:22:07.89ID:ZGog+EYK
webでそういう判定してくれるサービスありそうだけどね

そういや俺もwebとかネットワーク関係まったく触ったことないんだけど、
C#でもVBでもいいけどそっち系のチュートリアルってどこかにある?

洋書は知らんけど本はほとんどないよね
528デフォルトの名無しさん
2017/12/12(火) 22:23:51.41ID:/hFzA9NO
試しに学習させてみればいいやんけ
これはNTR、これは人妻、これはレ●プ、(以下略)
こんなデータを大量に与える
そして最後にテスト画像を見せて当てられるかどうか
529デフォルトの名無しさん
2017/12/12(火) 22:24:07.38ID:+ghxhmVd
Webサービスを展開する話なら、言語がどうこうっつーより
サーバOSとか機器環境とかの話になっちゃうからなあ
530デフォルトの名無しさん
2017/12/12(火) 22:24:09.98ID:CwRQgOlO
>>527
安定するの待ってるんだろうな
機械学習と言ったらコレって確定するの
531デフォルトの名無しさん
2017/12/12(火) 22:40:24.36ID:NQyVP+w1
ディープラーニング、機械学習の本は最近ぼこぼこ出てるよ
内容は似たり寄ったり
地元の図書館にも充実とまではいかないけど今年だけで3冊ぐらい入った

雑誌もディープラーニング特集すると部数が伸びるらしいのでよく特集される
532デフォルトの名無しさん
2017/12/12(火) 22:57:04.37ID:wz4D/2fS
いい加減クラウドじゃ稼げないからディープラーニングに換えただけだろう
出版しても売れなきゃ返本の山だしな
533デフォルトの名無しさん
2017/12/12(火) 23:32:02.56ID:qioa7JjJ
AWSってどこまでガチなの?
書籍も少ないし様子見してた
534デフォルトの名無しさん
2017/12/12(火) 23:36:49.62ID:mXOR9ERV
今更すぎるだろ
エンタープライズでも驚異的な勢いで伸びてて、あと5年もしたらオンプレサーバーなんかほぼ消滅するレベルだぞ
535デフォルトの名無しさん
2017/12/12(火) 23:42:13.92ID:enzDDAPg
何を指標にガチってるのか分からんが
AWSだけで100億ドル超を売り上げるくらいには使われてるだろ
536デフォルトの名無しさん
2017/12/12(火) 23:52:57.04ID:qioa7JjJ
まあ、企業向けのサーバーなんしょ?
閉じたネットワークの業務アプリばっかで今までもあんまり関わり無かったからなぁ
537デフォルトの名無しさん
2017/12/13(水) 00:03:21.24ID:prgZVef7
>>536
イントラのクラウド移行も凄まじい勢いで進んでるぞ。
AWS上にプライベートクラウドを設定してVPNで接続するだけ。
慣れてりゃ一日ポチポチしたら出来上がり
538デフォルトの名無しさん
2017/12/13(水) 00:14:37.13ID:7y6FaNAn
SIのインフラ屋でコード書けない奴はガチでやばいよ
従来のインフラ構築運用なんかクラウドじゃ全く商売にならん
インフラはもはや、アプリエンジニアや社内SEが片手間にポチポチやるもの
539デフォルトの名無しさん
2017/12/13(水) 00:16:41.76ID:n4AZEwrx
テンプレ理解できないやつ何人いるの?
540デフォルトの名無しさん
2017/12/13(水) 00:21:59.75ID:XGmIS6JF
ルールを無視する輩とは一緒に仕事したくないよな。ホント
541デフォルトの名無しさん
2017/12/13(水) 02:36:04.24ID:celmGK9q
すぐに底辺の職業プログラマが談話始めやがる
542デフォルトの名無しさん
2017/12/13(水) 03:35:29.20ID:Aa4rKi8+
馬鹿の相手する馬鹿とどっこいどっこいだわ
両方殺すにはどうしたらいいか質問していい?
543デフォルトの名無しさん
2017/12/13(水) 06:29:25.97ID:9AlYNlS9
>>533
C#erならazulemachinlearningだろw
544デフォルトの名無しさん
2017/12/13(水) 06:31:08.15ID:9AlYNlS9
>>534
インフラ担当者は生き残れますか?
545デフォルトの名無しさん
2017/12/13(水) 09:49:18.40ID:5hkNOkMK
勉強のために作ったアプリの単体テスト始めたけどテストコードすら書けない
やっぱコピペばっかで作れただけで何も身に付いてないんだなぁ
データベースから取ってきた値の比較とかどうやるんだよ…
546デフォルトの名無しさん
2017/12/13(水) 09:57:31.43ID:WF2IXduz
>>545
データベース読むとこのテストはモック使うんだよ。
547デフォルトの名無しさん
2017/12/13(水) 10:03:04.23ID:5hkNOkMK
>>546
モックってダミーみたいなやつのこと?
せっかく教えてもらったのに何が便利になるのか全然イメージ出来ない…
548デフォルトの名無しさん
2017/12/13(水) 10:05:50.55ID:7X3tjs6V
>>547
用語教えてもらっただけだからわからなくても仕方がない
勉強するのなら自分で使うようなツール作れ。簡単なやつでいいぞ
少しずつ機能増やしていくようにしたらスキルが上がっていく
549デフォルトの名無しさん
2017/12/13(水) 10:11:11.76ID:WF2IXduz
>>547
グーグル先生にMoqを教えて貰え
550デフォルトの名無しさん
2017/12/13(水) 10:14:58.04ID:1Q6K9tEb
Aの値を求める

AとBが等しいか
1等しくないなら
Aの値を変更して初めに戻る
2等しくなくて3回Aの値を変えている
失敗で終了
3等しい
正常に終了


というプログラムを作りたいのですが
どう条件分岐や反復を使用していいかわかりません
Aの値の変更は他アプリへの入力で、Aの値を求めるというのは他アプリの状態です
アドバイスお願い致します
551デフォルトの名無しさん
2017/12/13(水) 10:21:01.20ID:QhF+UxFg
>>550
3回ぐらいハードコーディングしろよ
んで同じところをループや関数にすればいい
552デフォルトの名無しさん
2017/12/13(水) 10:24:58.47ID:7X3tjs6V
>>550
C#以前の質問だと思うしいろいろあるんだけど
int count=3;
while (count>0)
{
[Aの値をGet]
if (B==A) break; //正常に終了
count--;
}
if (count>0) {[正常に終了}]
if (count==0) {[3回とも失敗]}
553デフォルトの名無しさん
2017/12/13(水) 10:29:29.60ID:1Q6K9tEb
>>552
ありがとうございます!
これでいきます!
554デフォルトの名無しさん
2017/12/13(水) 12:09:08.61ID:zXzMZXIu
いやいや人の回答にケツつけるのもあれだけど、普通にforループ使った方が分かりやすいよw
だって要するに3回までリトライするってだけの話でしょw

const int rertryCount = 3;
A a;
for (int i = 0; i < retryCount; i++)
  if((a = GetA()) == B) return true; //成功
return false; //失敗
555デフォルトの名無しさん
2017/12/13(水) 12:11:06.80ID:zXzMZXIu
const int rertryCount = 3;
これはちょとミスリーディングか。
こだわるなら

const int maxRetryCount = 3;
こっちの方がいいね
556デフォルトの名無しさん
2017/12/13(水) 12:16:44.81ID:ubNNZos/
文末の無駄煽りwイラネ
557デフォルトの名無しさん
2017/12/13(水) 12:21:20.67ID:WF2IXduz
宿題への解答はスルーで
558デフォルトの名無しさん
2017/12/13(水) 12:22:42.84ID:xw1cKw2m
>>554
ところ構わずケツつけてくる奴やな
みんながみんなホモちゃうでしかしw
559デフォルトの名無しさん
2017/12/13(水) 12:57:28.03ID:qPshWZUl
ケツつけるならAは要らない子
560デフォルトの名無しさん
2017/12/13(水) 18:22:17.80ID:celmGK9q
getA()=Bじゃダメな理由は?
561デフォルトの名無しさん
2017/12/13(水) 18:23:23.16ID:m+6YTdY7
>>559>>560
なんで勝手に質問者の要件作るの?
562デフォルトの名無しさん
2017/12/13(水) 18:24:34.34ID:celmGK9q
>>561
何言ってるか分からん
ただの質問
ここ質問スレだろ?
563デフォルトの名無しさん
2017/12/13(水) 18:26:58.52ID:m+6YTdY7
>>562
C#の質問じゃないな
564デフォルトの名無しさん
2017/12/13(水) 18:31:40.81ID:celmGK9q
>>563
じゃあどこですんの?
言語に関係無いプログラマの談話は要らんが
565デフォルトの名無しさん
2017/12/13(水) 18:51:30.28ID:Aix7CEXX
>>545
簡単にユニットテストできるようにSOLIDなコードを書かないとダメ
ただ漠然とユニットテストやればきっとうまくいくんや~などと考えてるようなら先はないぞ
566デフォルトの名無しさん
2017/12/13(水) 19:17:20.81ID:48dLEnlz
VBですみません。下記のようなコードで印刷ジョブの数を取得すると
OSの印刷ジョブ一覧ウィンドウで見える数と違うのですが
なぜ違ってしまうのでしょうか?

'プリントサーバの情報取得
Dim prtSv As New LocalPrintServer()

'印刷キュー取得
Dim que As PrintQueue = prtSv.DefaultPrintQueue

msgbox que.NumberOfJobs
567デフォルトの名無しさん
2017/12/13(水) 19:23:41.42ID:qPshWZUl
>>566
環境を詳細に書かないと解らない
エスパー得意だけどこれは無理w
568デフォルトの名無しさん
2017/12/13(水) 19:25:11.30ID:qPshWZUl
>>560
俺に聞くなw

B == GetA()
で十分でないの
569デフォルトの名無しさん
2017/12/13(水) 19:28:38.16ID:celmGK9q
>>566
OSのジョブ一覧は変更の反映が遅いから
ジョブ一覧の画面でF5押しまくれ
570デフォルトの名無しさん
2017/12/13(水) 19:29:21.02ID:48dLEnlz
>>567
環境はWin7です。プリンタを一時停止にしてジョブを40個くらいためていくと
que.NumberOfJobsは35が返ってきたりします。
時間が経つと40が返ってきたりします。
時間差があるのでしょうか?印刷が成功したか知りたいのですが
そのジョブが見つからないのです。
571デフォルトの名無しさん
2017/12/13(水) 19:29:55.45ID:JWALofvX
>>566
スレタイとテンプレ読め
572デフォルトの名無しさん
2017/12/13(水) 19:33:48.02ID:48dLEnlz
>>569
そうなんですか。困りました。
下記のサイトのようなことがやりたかったのですがorz
http://jehupc.exblog.jp/8603528/
573デフォルトの名無しさん
2017/12/13(水) 19:36:20.02ID:celmGK9q
>>572
読んでないからよくわからんけど反映が遅れるのはジョブ一覧の画面上の話で実際の内部のジョブ一覧はリアルタイムで変更されてるぞ
多分のおまえのやりたいことはできる
574デフォルトの名無しさん
2017/12/13(水) 19:40:02.91ID:celmGK9q
>>570で言えば35の方が正しいってことな多分
知らんけど試してくれ
575デフォルトの名無しさん
2017/12/13(水) 19:46:53.57ID:48dLEnlz
>>573
自分も認識としてはそうなんですが何故か想定と違う値が返ってきてしまい・・・
ちなみに.NETの問題かとも思いましたがAPIのEnumJobs()でも同じ値が返ってきました。
JOB一覧でF5を押しまくって40なのを確認してque.NumberOfJobsを取得しても
35なんですよね。で数分待つと40が返ってきたり。
直前にque.Refresh()はしています。
576デフォルトの名無しさん
2017/12/13(水) 19:56:07.48ID:celmGK9q
>>575
マジか、すまんな
577デフォルトの名無しさん
2017/12/13(水) 19:57:45.10ID:o6fkcoL6
>>575
数分待てば40返ってくんじゃん
解決
578デフォルトの名無しさん
2017/12/13(水) 20:00:10.64ID:celmGK9q
質問ですがWPFでCommandからModelにアクセスするにはどうすればいいですか?
例えばボタンをクリックしたらModelのBuyNumプロパティをインクリメントしてそれをViewのLabelに反映させたりしたいときなどです。
579デフォルトの名無しさん
2017/12/13(水) 20:01:32.95ID:48dLEnlz
>>576
わかりにくくてすみません。

>>577
なるほど!
580デフォルトの名無しさん
2017/12/13(水) 20:55:52.96ID:6RipZ3Bg
>>578
VMにコマンドがあるんだったらVMのフィールドにModel持ってるはずだろ?
何の問題もなくアクセスできるはずだが一体何が分からないのか
581デフォルトの名無しさん
2017/12/13(水) 21:45:44.50ID:pl2NU6fI
>>578
command生成時にVMのメソッドかVMのインスタンスをcommandに渡す

つかICommandなんて使わずにコードビハインドのコールバックからVMのメソッド呼び出す方が分かりやすいよ
582デフォルトの名無しさん
2017/12/13(水) 21:56:15.26ID:i7QaIdVf
>>578
よくあるパターンだと、DIコンテナってのを使ったりします。モデルのインスタンスを管理するプログラムが有って
VMが起動されたときにModelのインスタンスをVMに渡すことが出来ます
Prism.Unityとか、MEFとかAutoFacなんてのがありますので興味があれば調べてくださいね
583デフォルトの名無しさん
2017/12/13(水) 22:32:23.84ID:D2CxP1eV
コマンドバインディングとデータバインディングを一緒くたにするのは混乱の元
つかWPFスレの次スレ建ってないんだな
584デフォルトの名無しさん
2017/12/13(水) 23:15:57.29ID:Aa4rKi8+
要るのか?
585デフォルトの名無しさん
2017/12/13(水) 23:21:05.54ID:+hxIYt9g
こっちでうざい論争始められても困るし。
586デフォルトの名無しさん
2017/12/13(水) 23:23:03.58ID:vLvUNPwO
EF Coreを使ってます
UpdateでWhereを指定するにはどうしたらいいでしょうか?
現在は以下のようになってます

ctx.Students.Update(student);
ctx.SaveChanges();

もしくは、行ロックのやり方を教えてください
レコードを更新する際に特定の条件下なら1度だけ更新をしたいです
587デフォルトの名無しさん
2017/12/13(水) 23:31:04.98ID:celmGK9q
>>583
もう廃れてるからね
知らんけど
588デフォルトの名無しさん
2017/12/13(水) 23:37:57.02ID:muTUiD7C
WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part22
http://mevius.2ch.net/test/read.cgi/tech/1513175747/
589デフォルトの名無しさん
2017/12/13(水) 23:39:24.47ID:uYugybSh
>>550
こういったのプログラミングするときちゃんと書かれてる通りに作れって思う
仕様書の書き方がクソで勝手に直したくなるのは分かるけど

enum Hoge{最初から,失敗終了,成功終了}
private Hoge Func(A a,B b,Int changeCount){
bool 等しい a==b;
if(!等しい&&changeCount!=3)return Hoge.最初から;
else if(!等しい&&changeCount==3)return Hoge.失敗終了;
else if(等しい)return Hoge.成功終了;

throw new Exception("仕様書に書いてないけど?");
}
590デフォルトの名無しさん
2017/12/13(水) 23:42:41.36ID:BxJ5qLxy
>>586
.Where(条件)追加すればいいんじゃないか?
591デフォルトの名無しさん
2017/12/14(木) 00:09:23.47ID:AbaQzWBd
>>589
面白くない
星一つ★☆☆☆☆
592デフォルトの名無しさん
2017/12/14(木) 06:07:27.62ID:tSpFRQdC
>>590
連結は出来ませんよね?定義には含まれてないので。
具体的にどのようなコードになりますか??
593デフォルトの名無しさん
2017/12/14(木) 07:19:39.96ID:VVrew0Yx
amazon死んでる
AWSも逝った?
594デフォルトの名無しさん
2017/12/14(木) 08:04:04.61ID:5Zp71Sbj
おまえらなんでアジュール使わないの?
595デフォルトの名無しさん
2017/12/14(木) 08:28:56.13ID:VVrew0Yx
>>594
そういう仕事に遭遇しない
でもそんなレアだといざデスマになったときに追加人員が補充できないから人数が少ないってヤバそう
596デフォルトの名無しさん
2017/12/14(木) 08:51:15.38ID:kupDQT+K
アジュールってクラウド鯖環境なだけだが
597デフォルトの名無しさん
2017/12/14(木) 08:58:02.26ID:AMqoei3b
AWSの方が便利ですし
598デフォルトの名無しさん
2017/12/14(木) 09:33:13.26ID:h0pJUyRR
>>596
嘘は良くない
599デフォルトの名無しさん
2017/12/14(木) 09:33:48.37ID:6p67cfA3
アジュールAWSとVPSの違いは?
600デフォルトの名無しさん
2017/12/14(木) 09:40:54.01ID:+GHlkdpq
try catchってどこで囲うのが基本?
メソッドの中身全部かなと思うんだけど
601デフォルトの名無しさん
2017/12/14(木) 09:54:01.28ID:exEWR3q2
>>600
書くなって言われたよ
イベントログに出なくなっちゃうからだって
602デフォルトの名無しさん
2017/12/14(木) 10:26:35.89ID:4QS0W6Tf
???
603デフォルトの名無しさん
2017/12/14(木) 10:38:03.42ID:T38l1dnq
できるだけ狭く
604デフォルトの名無しさん
2017/12/14(木) 11:00:13.42ID:VYyAdkca
>>600
全部でも良いけど
そのメソッド内でキャッチして例外に対応できる場合のみ
605デフォルトの名無しさん
2017/12/14(木) 12:14:15.12ID:E4k7gbUw
どこに書いてもいいけど
} catch (Exception) { }
とかやんなよハゲ、それじゃどこで例外が発生したかわからんだろが、どうやってデバックすんだ
と怒鳴られたんだろう
事なかれ主義で育てられた子が面倒を起こすパターン
事なかれ例外と名付けよう
606デフォルトの名無しさん
2017/12/14(木) 12:19:44.66ID:yn4+AjAE
>>605
だって、このメソッドで落ちると困るじゃん例外とも言う
607デフォルトの名無しさん
2017/12/14(木) 12:33:59.88ID:PpIxqW4X
>>605
vsなら見れるだろ
知らんけど
608デフォルトの名無しさん
2017/12/14(木) 12:52:43.26ID:h0pJUyRR
>>605
問題はそのあと
throw ex
とかしちゃうやつ
609デフォルトの名無しさん
2017/12/14(木) 13:34:33.61ID:6p67cfA3
>>608
語るなら理由も書いてくれ
610デフォルトの名無しさん
2017/12/14(木) 13:37:11.31ID:exEWR3q2
>>605
一律で書かないことになっちゃったけど
本当は何書いて欲しいの?
611デフォルトの名無しさん
2017/12/14(木) 14:07:14.43ID:h0pJUyRR
>>609
>どこで例外が発生したかわからん
に対する補足。Java上がりがよくやるポカ。
612デフォルトの名無しさん
2017/12/14(木) 14:13:12.44ID:yn4+AjAE
>>610
一律で書かないと言うのは集中キャッチハンドラーがあるからでしょ
613デフォルトの名無しさん
2017/12/14(木) 15:27:07.73ID:exEWR3q2
>>612
なんもない
自分で書いた場所にtry catchがそもそもない
614デフォルトの名無しさん
2017/12/14(木) 15:39:34.55ID:yn4+AjAE
>>613
自分で書いてない所にあるんだよ。
615デフォルトの名無しさん
2017/12/14(木) 17:00:13.09ID:exEWR3q2
>>614
ないっす
616デフォルトの名無しさん
2017/12/14(木) 17:32:02.14ID:us8b95/8
何のスレだよここ
617デフォルトの名無しさん
2017/12/14(木) 18:09:08.31ID:oUWqnTgP
IO系とかエラーが発生する可能性のある一帯だけ囲んで、こんなとこじゃエラー出ないよね?
ってとこは囲わないかな
万一そういう所でエラー発生したら、そのエラー箇所を特定しやすいように
売り物のソフトだと、好ましくないやり方かもしんないけどな
618デフォルトの名無しさん
2017/12/14(木) 20:49:00.77ID:COokNIga
復旧可能かつ復旧を試みる事が要件で明示されてればそこでキャッチする
それ以外は基本的に全てキャッチしてはならない
グローバル例外ハンドラに任せてログ出力やユーザー通知を行う
619デフォルトの名無しさん
2017/12/14(木) 20:51:54.39ID:COokNIga
リソースの解放は原則IDisposableとusingで行うこと(try finallyは使わない)
620デフォルトの名無しさん
2017/12/14(木) 22:00:38.77ID:7SAvsilk
>>619
usingはtry finallyに展開されるという・・・
621デフォルトの名無しさん
2017/12/14(木) 22:01:50.75ID:NV/46Hd7
>>620
自分で書いてミスるのを防ぐため
622デフォルトの名無しさん
2017/12/14(木) 22:42:27.89ID:83z5th3I
なんで?
Finallyあると開放されないん?
623デフォルトの名無しさん
2017/12/14(木) 22:52:02.96ID:6p67cfA3
https://qiita.com/mik_claire/items/8f36d143639cd538a980
624デフォルトの名無しさん
2017/12/14(木) 22:58:02.78ID:6p67cfA3
http://hensa40.cutegirl.jp/archives/1428
625デフォルトの名無しさん
2017/12/15(金) 02:32:16.25ID:6xqAElZe
1234.5678 => 1,234.5678
1234.56 => 1,234.56
123.456 => 123.456

というように、
数値を3桁区切り+小数点を含める(0埋めしない)文字列を出力するにはどうしたら良いでしょうか?
626デフォルトの名無しさん
2017/12/15(金) 02:43:42.30ID:OGT2pKSi
>>625
複合書式指定
https://msdn.microsoft.com/ja-jp/library/txafckwd(v=vs.110).aspx
でできそうにないものは整数部分と小数点以下に分けて文字列作って合わせるしかない
627デフォルトの名無しさん
2017/12/15(金) 02:45:25.60ID:6xqAElZe
>>626
C#ってわざわざ面倒臭いことしないといけないんですね・・・
628デフォルトの名無しさん
2017/12/15(金) 02:53:08.52ID:OGT2pKSi
>>627
他の言語でできることならフォーマット用意してあるかもしれないから調べたら?
そこまで見ていないから
629デフォルトの名無しさん
2017/12/15(金) 03:21:16.28ID:IbhaoRnF
>>625
ちょっと格好悪いけど、
ToString( "###,###,###,###,###.########" );
とでもしとけば。
630デフォルトの名無しさん
2017/12/15(金) 09:01:04.44ID:BaW7Km5G
>>625
ggrks
http://www.atmarkit.co.jp/ait/articles/0707/19/news143.html
631デフォルトの名無しさん
2017/12/15(金) 09:05:36.73ID:BaW7Km5G
Console.WriteLine("{0:#,0} ", 数値);

こんだけな
632デフォルトの名無しさん
2017/12/15(金) 09:14:42.49ID:BaW7Km5G
それかコレな

Console.WriteLine("{0:N}", 数値);
633デフォルトの名無しさん
2017/12/15(金) 12:48:50.32ID:6xqAElZe
>>630-632
頭悪いレスは必要ないです
質問をよく読んでから答えてください
634デフォルトの名無しさん
2017/12/15(金) 13:08:51.68ID:BaW7Km5G
ググる知能もない低脳に説教されちゃったよ..(^^;
635デフォルトの名無しさん
2017/12/15(金) 14:03:20.57ID:s/91E6Oz
一度でもやってからしゃべってんだろうかこのアホ ID:6xqAElZe は
636デフォルトの名無しさん
2017/12/15(金) 16:15:56.95ID:M7F98+kf
VB.netのクラスの中身の大半をC#に移動したいんだが、Partialしたらいいだろか?
637デフォルトの名無しさん
2017/12/15(金) 16:32:35.38ID:aCy2oimY
vb.netのコードをc#に一発変換してくれるツールがあった気がする
638デフォルトの名無しさん
2017/12/15(金) 16:42:28.20ID:M7F98+kf
Formは無理じゃない。 コードは変換できるのを見たことがある。なのでコード部とか
ライブラリクラスをC#にしようと思う。
639デフォルトの名無しさん
2017/12/15(金) 17:10:02.32ID:aCy2oimY
>>638
https://dobon.net/vb/dotnet/links/convertcs2vb.html

sharpdevelopとかいうのでできた気がすんだよ
ちょっとやってみてよ
試す価値はあるでしょ?
ただ、動作までは知らんから変換出来てもテスト工数は減らせないぞ
640デフォルトの名無しさん
2017/12/15(金) 17:28:02.50ID:M7F98+kf
>>639
ありがとう。やってみてまた報告するよ。
641デフォルトの名無しさん
2017/12/15(金) 17:51:54.84ID:m9RnQpi/
プロジェクト分ければVBとC#共存できるんだから
循環参照が必要じゃないなら無理に変換することもないんじゃないかと
642デフォルトの名無しさん
2017/12/15(金) 18:41:41.68ID:Rbo0n5z7
>>641
VBerがそんな綺麗なコード書くわけ無いでしょ
643デフォルトの名無しさん
2017/12/15(金) 18:43:49.15ID:M7F98+kf
心が綺麗だとコードも綺麗。
644デフォルトの名無しさん
2017/12/15(金) 18:47:39.84ID:Sbz3X1/O
VisualBasicがなかったら
ファイルをゴミ箱入れたいとき困るじゃないですか
645デフォルトの名無しさん
2017/12/15(金) 20:59:15.61ID:6xqAElZe
>>634
>>635
せめてテストくらいしてからレスしてくださいね^^;
C#erレベル低すぎ
646デフォルトの名無しさん
2017/12/15(金) 21:11:29.58ID:Hv9P7iJ4
>>639
バージョンによるな。こけるパターンが特徴的なので
慣れれば機械的に直していける
647デフォルトの名無しさん
2017/12/15(金) 21:29:12.26ID:GAdh6qIc
>>645
はいキチガイ
648デフォルトの名無しさん
2017/12/15(金) 21:30:37.92ID:wB/Paoxt
>>644
Microsoft.VisualBasic.dllだけあればいいよ
649デフォルトの名無しさん
2017/12/15(金) 22:02:04.42ID:JZUrtsL7
>>625
Console.WriteLine("{0:#,#.##########}", 1234.5678);
650デフォルトの名無しさん
2017/12/15(金) 23:04:45.15ID:ZiMYN4DZ
>>646
すんなりは行かんかった?
Formは行けた?
651デフォルトの名無しさん
2017/12/16(土) 08:46:52.59ID:2xEHZCIG
vb formからc# formへctl-aで全選択してコピペできるよ。
ちゃんと言語の変換をしてくれる。
652デフォルトの名無しさん
2017/12/16(土) 09:10:07.48ID:HogLmiIR
デザインは変換できる?
653デフォルトの名無しさん
2017/12/16(土) 09:54:00.60ID:ghluEyaB
あれぇ?
なんかボタンで一発変換だった記憶があるんだけど?
654デフォルトの名無しさん
2017/12/16(土) 10:37:27.38ID:HogLmiIR
クラスAでクラスBをインスタンス化する
クラスCでクラスBのメソッドを実行する。
クラスAでクラスBをインスタンス化する。クラスCでクラスBのメソッドを実行する。
クラスAのインスタンス名は未定の時に、clsCからB.bm()を呼び出す方法?
こういう時にどうすればいい? なんかスマートにできる方法はない?

public class clsA
{
public clsB B = new clsB;
public clsC C = new clsC(B);
}

public class clsB
{
public void bm()
{
}
}

public class clsC
{
clsB B;
private clsC(clsB bb)
{
B = bb;
}
private void doc()
{
B.bm();
}
} 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
655デフォルトの名無しさん
2017/12/16(土) 10:52:11.94ID:2xEHZCIG
>>653
それって vb6 ⇒ vb.net じゃないの?
656デフォルトの名無しさん
2017/12/16(土) 10:54:04.95ID:VgVQwchc
>>654
それでできてるだろ。何が分からないのか全く伝わらない。
あと、そのレベルならAだのBだのと話を一般化しないでズバリ何がしたいのかを書いたほうが適切な回答が得られる可能性が高いと思う。
657デフォルトの名無しさん
2017/12/16(土) 10:56:52.96ID:ghluEyaB
まあ、最悪ベタで組めばいいじゃん
658デフォルトの名無しさん
2017/12/16(土) 11:55:33.53ID:8tD9WB4W
関数をreturn する直前で実行したい処理があるのですが、
try catch finallyを使うとできますが、finally
だけ使いたいのですが、そう言うのは無いですか?
659デフォルトの名無しさん
2017/12/16(土) 12:03:55.12ID:8r44i3VV
ないですね
660デフォルトの名無しさん
2017/12/16(土) 12:07:33.63ID:EDRAYm5f
>>658
複数のreturnの前の同一処理ならreturnの代わりにgotoでその処理へ飛ばせばいいだろ
661デフォルトの名無しさん
2017/12/16(土) 12:08:12.20ID:VgVQwchc
try { return; } finally { } でいいだろ
662デフォルトの名無しさん
2017/12/16(土) 12:08:20.45ID:2xEHZCIG
>>658
try, finallyだけもあるけど
663デフォルトの名無しさん
2017/12/16(土) 12:14:22.30ID:oPhsj9qx
>>658
finallyだけじゃどこを抜けたらか分からないよ、ちゃんとそれぞれ有ります
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/try-finally
664デフォルトの名無しさん
2017/12/16(土) 12:51:36.41ID:8tD9WB4W
>>663
ああ、出来るじゃない!
今日は気分がいい。さんきゅ
665デフォルトの名無しさん
2017/12/16(土) 16:35:16.86ID:gJhjPx+L
C#初心者の頃(いまもかわらんけど)、一番悩んだのは
インターフェースが分からない。
何がわからないかというと、インタフェースって、自分で一から定義するような
ことが書かれていたが、既存のプログラムで使用しているインタフェースって
何かやってる。
何か定義しないと何もやらないはずなのに・・・・・めちゃ気持ち悪いしわからない。

システムで処理を記述したものも、インターフェースとそのまま呼んでいるから、
わけわからなくてさ~。
なんだ、処理が記述されているものがあるのねと、理解するのにひと月かかったアホ出した。

まあ今も変わらんんけど。
666デフォルトの名無しさん
2017/12/16(土) 16:39:09.26ID:ghluEyaB
設計書も書かないくせに
インターフェース定義するやつがこれまたわからん
馬鹿だろお前
って素で聞いてしまった
667デフォルトの名無しさん
2017/12/16(土) 16:42:29.58ID:6gulH/Qw
インターフェースを機械とか現実の何かで例えたらなんですか?
668デフォルトの名無しさん
2017/12/16(土) 16:45:05.86ID:ghluEyaB
強いて言えば型
100Vコンセントって型=インターフェース
669デフォルトの名無しさん
2017/12/16(土) 16:53:14.91ID:DOHaPC3l
backgroundWorkerにおいて、ある関数を実行していて
その関数内である条件になった時にbackgroundWorkerを停止したいのですが
何か簡単な方法はないでしょうか?
backgroundWorkerで無限ループで関数を実行していて、関数の中の関数でエラーが発生した時にbackgroundWorkerを緊急停止する様に
プログラムが組みたいのです。
670デフォルトの名無しさん
2017/12/16(土) 16:56:31.41ID:ghluEyaB
>>669
今どうなるの?
エラー出ると死んじゃう?
671デフォルトの名無しさん
2017/12/16(土) 16:59:30.93ID:Ul/CFAof
>>669
マイクロソフトの方針でできなくなってます
672デフォルトの名無しさん
2017/12/16(土) 17:03:29.56ID:ghluEyaB
普通に無限ループ抜ければええんちゃうのん?
673デフォルトの名無しさん
2017/12/16(土) 17:05:51.65ID:DOHaPC3l
backgroundWorker内でAという関数を無限ループ実行していて
Aの中ではB、Cという関数が続けて実行されていて
Bである条件(エラー)になった時、ここで全ての動きを停止したいです。
現在はエラーが発生してそのままBと処理が続いていって死にはしませんが意図しない動きをしている感じです

戻り値と条件分岐で場合分けしていけばいいのかなとも思いましたが関数が大量にあり複雑で何か簡単な手段はないものかとお聞きしてみました
674デフォルトの名無しさん
2017/12/16(土) 17:06:41.02ID:na0PR4/Y
>>669
https://dobon.net/vb/dotnet/programing/progressdialogbw.html
CancelAsync()でだめな理由があるの?
関数の中でエラー検出できないとかじゃないよね
675デフォルトの名無しさん
2017/12/16(土) 17:13:01.57ID:DOHaPC3l
>>674
キャンセルボタンは一応ついていまして
Aの実行後にボタンが押されていればCancelAsync()を使っています
AやBの関数中でもCancelAsync()と書いて一発で止められればいいのに…という感じです
676デフォルトの名無しさん
2017/12/16(土) 17:14:42.73ID:na0PR4/Y
>>673
通常のスレッドで実行するにしても考え方おかしいと思う
下流で発生したエラーを捕捉できない設計になっています、って言っているのと同じ
C#の問題じゃないんじゃないかな
677デフォルトの名無しさん
2017/12/16(土) 17:19:57.99ID:DOHaPC3l
>>676
そんな気もします…
678デフォルトの名無しさん
2017/12/16(土) 17:31:29.65ID:na0PR4/Y
>>677
同じような質問でTaskの場合
https://stackoverflow.com/questions/4359910/is-it-possible-to-abort-a-task-like-aborting-a-thread-thread-abort-method
Henk Holtermanさんは「そういうことを(安全に)したいのならその部分を別アプリにしろ」と言っている
679デフォルトの名無しさん
2017/12/16(土) 17:41:39.84ID:qA7A9B95
>>678
それ、スレッドでタスクのようにキャンセルしたいって話だぞ。
680デフォルトの名無しさん
2017/12/16(土) 17:48:31.95ID:ghluEyaB
普通にstaticのフラグ作って強引に無限ループ抜けちゃうのは?
681デフォルトの名無しさん
2017/12/16(土) 17:50:37.53ID:oGvDk6LW
>>675
まず「止める」って発想がおかしい。
各メソッドが「止まる」ように設計しなきゃ。

各メソッドの引数に処理がキャンセルされたかどうかを返すFunc<bool>を追加して
void A(Func<bool> canceled) {...}

呼び出すときに
A(() => backgroundWorker1.CancellationPending);

とかすればいいんじゃないか
682デフォルトの名無しさん
2017/12/16(土) 17:52:34.38ID:qA7A9B95
>>673
Bでエラーが発生したら例外投げて、backgroundWorker.DoWork内のループでその例外を補足してe.Cancel=trueにするようにすれば。
683デフォルトの名無しさん
2017/12/16(土) 17:58:55.94ID:qA7A9B95
>>678
ごめん。
>>679は全くの間違い。ぼけてた。

ただ、今回はワーカーメソッドの中から中断したいって話なので、外から強引に中断する話とは違う。
684デフォルトの名無しさん
2017/12/16(土) 18:12:53.74ID:DOHaPC3l
>>681
() =>この書き方がよくわからないので
とりあえず今のメソッドを全てvoidからboolに変え、エラー時にfalseを返して
if(メソッド==true)の時だけその後の処理を実行する様にしてみます

>>682
例外を投げるっていう方法がわかりません…調べてみます

みなさん色々ありがとうございました
685デフォルトの名無しさん
2017/12/16(土) 18:22:29.26ID:cphXnYZp
>>666
何言ってんだこいつ?
686デフォルトの名無しさん
2017/12/16(土) 19:04:01.72ID:ghluEyaB
>>685
じゃあ俺が作った
「USBちんぽん」って
使ってくれる?
687デフォルトの名無しさん
2017/12/16(土) 19:11:54.53ID:FKHtpILn
>>686
うん、ほしい
688デフォルトの名無しさん
2017/12/16(土) 19:14:12.13ID:ghluEyaB
>>687
やったぜ
頭悪いんだねw
689デフォルトの名無しさん
2017/12/16(土) 19:15:20.72ID:FKHtpILn
>>688
はやくちょーだい?
690デフォルトの名無しさん
2017/12/16(土) 19:18:34.13ID:cphXnYZp
>>686
疲れてるのか?
日曜日は10時に寝るといいぞ
691デフォルトの名無しさん
2017/12/16(土) 19:19:38.55ID:ghluEyaB
>>690
お前は「USBちんぽん」使ってくれるの?
692デフォルトの名無しさん
2017/12/16(土) 21:53:57.13ID:B4/eWtrI
>>689
https://dotup.org/uploda/dotup.org1414162.exe
693デフォルトの名無しさん
2017/12/17(日) 01:36:39.71ID:hpnS8mLh
Chartを2個置いているのですが、このフォームを最大化した際にこの比率のままChartをフォームに合わせてリサイズするにはどのように設定すればいいのでしょうか?
Anchorを上下左右全てオンにした場合、自動的にリサイズした際に右側のChartが隠れてしまいます
ふらっと C#,C♯,C#(初心者用) Part134 	->画像>8枚
694デフォルトの名無しさん
2017/12/17(日) 01:40:47.18ID:hpnS8mLh
>>693
補足です
直撮りで申し訳ないですが、1枚目が正常な場合です
これを最大化した時もそのままにしたいのですがanchorを全部設定するだけだと2枚目のように手前側の設定が反映されて被ってしまいます
ふらっと C#,C♯,C#(初心者用) Part134 	->画像>8枚
ふらっと C#,C♯,C#(初心者用) Part134 	->画像>8枚
695デフォルトの名無しさん
2017/12/17(日) 01:41:46.33ID:CSXOgBDh
>>693
わかる
俺も知りたい
696デフォルトの名無しさん
2017/12/17(日) 01:50:14.52ID:CSXOgBDh
でもanchorでは多分できないということもなんとなくわかる
比率を自分で計算して位置サイズ合わせするしかないんじゃないかと
697デフォルトの名無しさん
2017/12/17(日) 02:03:32.25ID:hpnS8mLh
>>696
どもです
検索ワード少し変えて探したらこんなのが出てきました
https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/44b83f8c-7ac1-463f-9153-3d1a67197a8d?forum=csharpgeneralja

少しこの辺りの試そうと思います
回答通り、標準ではそういう機能無いみたいですね
ありがとうございました
698デフォルトの名無しさん
2017/12/17(日) 11:39:32.44ID:hpnS8mLh
>>697
自己解決できました
今さっき使い方少し調べて試したら
TableLayoutPanelで無事目的達成できました
ふらっと C#,C♯,C#(初心者用) Part134 	->画像>8枚
699デフォルトの名無しさん
2017/12/17(日) 12:05:55.48ID:4m+VWQn4
>>665
あえて書くけど
個人で小規模なアプリの場合はインターフェースなんて不要

商用大規模アプリでも使ってないところが多いくらいw
700デフォルトの名無しさん
2017/12/17(日) 12:08:11.46ID:opp+Hz1N
>>699
なわけないでしょ
701デフォルトの名無しさん
2017/12/17(日) 12:08:27.63ID:4m+VWQn4
>>673
Task使え
702デフォルトの名無しさん
2017/12/17(日) 12:12:30.50ID:ILWlCk8x
>>699
これは恥ずかしい
703デフォルトの名無しさん
2017/12/17(日) 12:49:56.01ID:gfqG1JvG
基底クラスとインターフェースって何が違うんですか?
704デフォルトの名無しさん
2017/12/17(日) 12:55:53.21ID:OwhBw4on
>>703
そこは基底じゃなくてabstractの抽象クラスじゃね
違いは実装の有無と多重継承かなあ?
705デフォルトの名無しさん
2017/12/17(日) 14:27:27.54ID:sFu7AEYs
>>699
大規模とかそういう問題じゃない
あえて100Vコンセントにする仕様がないとインターフェースは役に立たない

USBちんぽんを採用する理由がプロジェクトにないと意味がない
706デフォルトの名無しさん
2017/12/17(日) 14:51:02.99ID:RNTbc2+q
意味の共有ができない喩えいいかげんやめたら
707デフォルトの名無しさん
2017/12/17(日) 15:33:24.95ID:sFu7AEYs
>>706
君が普段やってることじゃんw
USBちんぽんの使用の押し付け
やられて嫌ならやめるべきだねw
708デフォルトの名無しさん
2017/12/17(日) 20:19:06.53ID:6F/MtA/p
>>699
またテメエか
公害は死ねっていったろ
709デフォルトの名無しさん
2017/12/17(日) 21:06:17.16ID:8SWMSnGu
static な関数を複数のスレッドから利用するのは危険ですか?
具体的に言うと、データベースを読み書きするような処理です。
注意事項など教えて下さい。
710デフォルトの名無しさん
2017/12/17(日) 21:44:44.79ID:sFu7AEYs
>>709
トランザクションどうなってるの?
711デフォルトの名無しさん
2017/12/17(日) 22:21:15.29ID:qS3H4jkn
>>710
何もしてません。と言うかトランザクションってよく分かっていません。
どうすべきでしょうか?
712デフォルトの名無しさん
2017/12/17(日) 22:22:18.95ID:sFu7AEYs
>>711
いい機会なのでトランザクションについて調べてみるでFA
713デフォルトの名無しさん
2017/12/17(日) 22:25:31.50ID:ZCl426tV
なんがどうなれば危険なのかしらんが、そんなものはその関数の実装によるわ
714デフォルトの名無しさん
2017/12/17(日) 22:27:39.83ID:sFu7AEYs
>>711
序盤の入金出金の説明がわかり易かった
http://itpro.nikkeibp.co.jp/article/COLUMN/20080123/291846/?ST=spleaf
715デフォルトの名無しさん
2017/12/18(月) 09:06:05.17ID:325qmzym
>>709
ef噛まして楽観的排他制御でfa
716デフォルトの名無しさん
2017/12/18(月) 09:47:39.52ID:BBY2VQE+
排他制御なんて自分でやらなくてもDB側で勝手にやってくれるんじゃないのか?
717デフォルトの名無しさん
2017/12/18(月) 09:50:45.06ID:/wskk4Cx
public static double keisuu(string mojiretu)
{
switch (mojiretu)
{
case "aaa": return 1.2; break;
case "bbb": return 1.6; break;
default: return 0; break;
}
}

全てのbreakのとこで到達できないコードが検出されました
と出るのですが何がいけないのでしょうか
718デフォルトの名無しさん
2017/12/18(月) 09:53:30.03ID:I3I0Txu7
>>717
returnしたらbreakに到達出来ないからbreakは要らない
719デフォルトの名無しさん
2017/12/18(月) 09:58:58.14ID:/wskk4Cx
ありがとうございます!
720デフォルトの名無しさん
2017/12/18(月) 10:05:08.96ID:/wskk4Cx
break消してもフォールスル―とかにはなりませんよね?
721デフォルトの名無しさん
2017/12/18(月) 10:19:47.17ID:I3I0Txu7
なりません
722デフォルトの名無しさん
2017/12/18(月) 11:01:50.77ID:/wskk4Cx
ありがとうございます!
723デフォルトの名無しさん
2017/12/18(月) 20:04:12.41ID:+/hEAeWc
>>716
楽観的に考えるとやってくれないが悲観的に考えるとやってくれる。
724デフォルトの名無しさん
2017/12/18(月) 20:15:27.26ID:pniu1iMQ
上手いこと言ってる場合ですか
725デフォルトの名無しさん
2017/12/18(月) 21:09:49.51ID:ce0jsCws
>>709
状態を持っていない関数なら安全
フツーのstatic関数はこれなハズ
immutableな状態を持つ関数も安全
mutableな状態を持つ関数ならそれを作った人を処刑すべきw
726デフォルトの名無しさん
2017/12/18(月) 21:33:23.50ID:6wmobrlb
それは甘い

例えばConsole.Writeは当然状態と持たないが、
何か適当な文字列(πでも聖書でも何でもいい)を少しずつ標準出力に
書き出すメソッドを2つのスレッドで実行したらどうなる
727デフォルトの名無しさん
2017/12/18(月) 21:40:21.06ID:+HXT0ym6
パソコンが爆発する
728デフォルトの名無しさん
2017/12/18(月) 21:42:12.35ID:YSeGcmGL
Consoleクラスってスレッドセーフじゃなかったっけ
729デフォルトの名無しさん
2017/12/18(月) 21:54:40.33ID:aYaUR9Gg
コンボボックスで中身を設定するときコードを書いてロード時に呼び出す方法以外に、visualstadioでコードを書かずに中身を設定するような機能はないのでしょうか?
そういうコントロールなどないでしょうか?
730デフォルトの名無しさん
2017/12/18(月) 21:56:53.79ID:z1EessDi
>>729
画面編集モードのプロパティウィンドウから設定できるじゃん
731デフォルトの名無しさん
2017/12/18(月) 21:57:37.55ID:ce0jsCws
>>726
残念ながら「コンソール」と言う外部IOを持っているんだよ
732デフォルトの名無しさん
2017/12/18(月) 22:15:16.76ID:ce0jsCws
>>728
せやね
733デフォルトの名無しさん
2017/12/18(月) 22:18:38.50ID:aYaUR9Gg
>>730
助かりました感謝します
734デフォルトの名無しさん
2017/12/18(月) 22:53:45.36ID:kRxIzXOP
https://ideone.com/eFQ05c
上のようなjson形式があった場合にTestのcount,pageは問題なくデシリアライズできるのですがPersonのname,ageは下のように書いてみてもまったくできません
var Test = JsonConvert.DeserializeObject<Test>(Json);
foreach (var r in Test.status)
{
Console.WriteLine(r.name);
}
Json.netを使っているのですがどのようにしたらいいでしょうか?
735デフォルトの名無しさん
2017/12/18(月) 23:11:52.12ID:3CP1/jFn
>>734
http://beachside.hatenablog.com/entry/2016/08/30/190000
これ参考にJsonConverterを継承すりゃいいんじゃねーの?
736デフォルトの名無しさん
2017/12/18(月) 23:28:28.84ID:pniu1iMQ
>>734
ワシの環境だとこれで成功したんだがどこがやりたいことと違うんやろう
https://ideone.com/4MqfUE
737デフォルトの名無しさん
2017/12/19(火) 00:49:42.79ID:aZpIRKJe
>>735
その2 JsonConverterを使ってデシリアライズの10行目p.nameでnameが見えずエラーになります…

>>736
デバックを行うと
foreach (var r in Test.status
{
Console.WriteLine(r.name);
}
のrの部分がnullになり結果が何も表示されません
cvrl + spaceでr.name自体は出るのですが…
738デフォルトの名無しさん
2017/12/19(火) 00:53:59.81ID:ySpyuYdG
>>737
変数名Testを違うのに変えてもダメですか?
739デフォルトの名無しさん
2017/12/19(火) 01:03:43.75ID:aZpIRKJe
>>738
deserializeに変えてみても駄目ですね
とりあえず今日は寝て明日先輩にも聞いてみます
740デフォルトの名無しさん
2017/12/19(火) 07:59:35.15ID:ChgNtW7Q
c#にレクトトラッカーってないですか?
741デフォルトの名無しさん
2017/12/19(火) 08:27:59.60ID:JkA1xsmg
非同期な複数のスレッドから、staticクラスの中のstreamwriterでcsvにログを書いてます
タイミングにより、ファイル競合?ロック?するようで、一つのスレッドからしかログが出力されません
ロック解除を待機するみたいなことはどうやるのでしょうか?
742デフォルトの名無しさん
2017/12/19(火) 08:36:09.07ID:ChgNtW7Q
>>741
俺、そういうログ一生懸命作ろうとしたらスレッド毎にログ出してよって言われたよ
結局待ちが発生すると
ログの発生タイミングっていうか順序が全くの嘘っぱちになっちゃうじゃん
そんなゴミいらねーって言われたぜ
上司がいるならちょっと仕様確認オススメ
743デフォルトの名無しさん
2017/12/19(火) 08:44:00.33ID:LhTNVyY+
Queue使えばよくね
ログ出力メソッドはエンキューするだけ
ログ出力はワーカスレッドでのんびりやればいい
744デフォルトの名無しさん
2017/12/19(火) 09:13:04.87ID:nH54/Jdj
素直にLoggingライブラリ使う
メンテナンスする人の気持ちも考えなきゃ
745デフォルトの名無しさん
2017/12/19(火) 09:18:25.50ID:yH1cU4+B
いつも思うけど、やっぱAutoRrsetとかのイベント付きキューなんてないの?
746デフォルトの名無しさん
2017/12/19(火) 09:53:23.28ID:33gf6qei
>>745
BlockingQueueのコンストラクタにConcurrentQueueを渡す
747デフォルトの名無しさん
2017/12/19(火) 10:25:11.81ID:OVvTmQOX
BlockingCollectionだな
ちなみにコンストラクタに基になるコレクション渡さなかったら既定でConcurrentQueueが使われる
748デフォルトの名無しさん
2017/12/19(火) 10:28:02.49ID:gf33i/87
>>741
SeriLogの実装みてみ
749デフォルトの名無しさん
2017/12/19(火) 10:32:13.69ID:NMj9FFtI
やってみた感じぶっちゃけ難しい
片方のスレッドが超忙しいとき待ちが発生すると他のスレッドが全く動かなくなっちゃう
750デフォルトの名無しさん
2017/12/19(火) 11:33:40.95ID:Ck77l9Yv
もう書いてる人がいるけど、前後関係が重要なら文字通りバッファーを設けるだけだよね
ライブラリのQueueは使いづらいからたぶん自作することになるけど、そんな難しくない
751デフォルトの名無しさん
2017/12/19(火) 11:52:48.64ID:VR9xxmjw
Nlogじゃないの?
752デフォルトの名無しさん
2017/12/19(火) 12:08:45.23ID:K2Dj0raT
C#特有というわけでは無いですが、例えば抽象クラス「費用」を作った後、費用合計を求めたい場合、費用の各サブクラスから値を取得し合算するのと「費用合計」クラスを作って、そこだけに問い合わせるの、どちらが良い作りでしょうか
753デフォルトの名無しさん
2017/12/19(火) 12:10:26.76ID:yH1cU4+B
>>746
>>747
へーそうかい!?
調査してみるよ。

ありがとうね
754741
2017/12/19(火) 12:37:26.95ID:JkA1xsmg
順序は気にしません
2つのスレッドそれぞれから1回/秒ずつ出力されるだけです
755デフォルトの名無しさん
2017/12/19(火) 12:43:08.19ID:tMFeAU0g
>>752
サンプルコードを見せてよ
756デフォルトの名無しさん
2017/12/19(火) 14:22:15.69ID:Ck77l9Yv
>>752
何を聞きたいのかよく分からないw
たぶん俺だけじゃないと思う

とりあえず「費用合計」クラスは普通に考えればない

合計を求める費用を集約しているオブジェクトがあるなら、そのオブジェクトに
合計させる(LINQのSum使ってもいいし自分でメソッドかプロパティを書いてもいい)のが普通

そんなものなくても配列にでもぶち込んでLINQ使うだけじゃないの?
757デフォルトの名無しさん
2017/12/19(火) 14:32:35.77ID:f0pyN6AV
いやなかなかいい質問だと思うよ
初心者でそこに気付けるのはいい視点だと思う
素質がある

中級者でもそこに全然思いが至らない人がいて困る
素質のない人だ


Sumを呼ぶとその時点で計算が行われるのことが困る場合がある
10個スレッドがあってそれぞれでSUM呼ばれて値が一致しないとか
そのつどDB読んじゃって負荷がかかりすぎるとか
758デフォルトの名無しさん
2017/12/19(火) 14:44:56.70ID:/RoT047O
>>752
費用クラスが合って費目毎にインスタンスを作るとか
費用合計クラスとか
何かを大きく勘違いしている
759デフォルトの名無しさん
2017/12/19(火) 14:45:53.04ID:/RoT047O
才能なし最下位確定じゃ
760デフォルトの名無しさん
2017/12/19(火) 14:47:19.61ID:RU/P54BS
費用合計の仕様次第じゃん
761デフォルトの名無しさん
2017/12/19(火) 14:53:12.54ID:m20tEW6J
>>759
おまえ顔にハナクソ付いてんぞ
762デフォルトの名無しさん
2017/12/19(火) 14:55:25.58ID:/RoT047O
ウンコ確定
763デフォルトの名無しさん
2017/12/19(火) 14:57:42.73ID:RU/P54BS
>>761
NG
ハナクソに顔が付いてる可能性を除外できてない
764デフォルトの名無しさん
2017/12/19(火) 14:57:48.67ID:vDUVA/Ha
>>762
おじいちゃん口臭いですよ^^
765デフォルトの名無しさん
2017/12/19(火) 15:02:05.90ID:/RoT047O
それケツだ
766デフォルトの名無しさん
2017/12/19(火) 15:58:21.40ID:f0lLnGqp
ASP.NET MVCのControllerの処理で、そこだけでちょちょっと利用する
関数などが沢山増えて来てコードが数千行になって来たのだが、
そう言う関数はどこに置けばいいの?
MVPクラスの人の回答をお願いします。
767デフォルトの名無しさん
2017/12/19(火) 16:10:19.74ID:RU/P54BS
partialだな(by一般兵)
768デフォルトの名無しさん
2017/12/19(火) 16:37:05.61ID:EJrHySC4
partialとかブッコイて一般兵気取りかよw
見習いもいいとこだぜ。入隊前じゃねぇの?
769デフォルトの名無しさん
2017/12/19(火) 16:41:36.67ID:0zOqWbHM
>>766
初心者スレにMVPクラスの人はいない
regionとTODOで整理したらいいだけじゃね
770デフォルトの名無しさん
2017/12/19(火) 16:53:03.26ID:8WX8gLVn
Controllerに何でも詰め込むからだろ
Modelにやらせればええのだ
771デフォルトの名無しさん
2017/12/19(火) 17:05:55.38ID:RU/P54BS
>>768
代案を出せよMVP
772デフォルトの名無しさん
2017/12/19(火) 17:48:31.52ID:TOTUMgYQ
俺が呼ばれた気がした
773デフォルトの名無しさん
2017/12/19(火) 17:52:51.22ID:VU3/qJii
昔は相談室とこのスレにあの人が住んでたんだけどね
今もいるんだろうか?
774デフォルトの名無しさん
2017/12/19(火) 18:37:30.91ID:ayXhJHgO
>>766
決まった答えはない
責務に応じて分割するだけ
775デフォルトの名無しさん
2017/12/19(火) 18:40:59.36ID:J+VWEpvK
「決まった答えはない」とか言うの決まった答えしかできない奴よくいるよねw
776デフォルトの名無しさん
2017/12/19(火) 18:53:48.71ID:JM38580+
>>775
日本語www
777デフォルトの名無しさん
2017/12/19(火) 21:56:50.83ID:cjNZWQaj
費用合計クラスの者ですが、以下のようなクラス設計をしました(実装は一応英語です)
public abstract class 費用
{
public abstract int 金額();
}

public class 支払家賃 : 費用
{
public override int 金額()
{
return 100;
}
}

class 水道光熱費 : 費用
{
public override int 金額()
{
return 200;
}
}

費目が増えても多態で対応できるのでオブジェクト指向しているなと思ったのですが
費用合計を出すのに都度インスタンスを作るのがなんだか野暮ったく
一般的なやり方をしているのか気になり投稿しました
このような書き方は、何か問題があるでしょうか?
778デフォルトの名無しさん
2017/12/19(火) 22:01:25.18ID:vSkEKb16
データベース使いなさい
779752
2017/12/19(火) 22:02:23.97ID:cjNZWQaj
ちなみに、費用クラスで各費目を管理し
費用合計や各費目の値を返すメソッドを作ろうと思ったのですが
抽象クラスに「費目」という名前を使ってしまったので
テンパっています

OOは命名が難しいなと
780デフォルトの名無しさん
2017/12/19(火) 22:05:19.18ID:N/VqY3nf
ありがちな形にこだわるタイプか
継承しなきゃならないほど金額()が込みいっているのかは置いておいて「動けばいいんだよ」
781デフォルトの名無しさん
2017/12/19(火) 22:06:13.10ID:MJol/7NU
全体見てないからなんとも言えんけど
その粒度でクラス作るとクラス図ってどうなるの?
2000項目あったら2000クラス作るの?
って心配になった

あとは動けばいいよ
782デフォルトの名無しさん
2017/12/19(火) 22:12:15.71ID:7vxZYYFe
>>779
だから悪いけど結局何が聞きたいのか伝わってないと思うよw

public static class 費用
{
  public const int 支払家賃 = 100;
  public const int 水道光熱費 = 200;
  public const int 総費用 = 支払家賃 + 水道光熱費 ;
}

なんかこれで問題ないようにも聞こえるけどこれじゃダメなの?
783デフォルトの名無しさん
2017/12/19(火) 22:12:45.55ID:XIiNWcV9
>>777
才能無し、問題外
以上
784デフォルトの名無しさん
2017/12/19(火) 22:13:51.01ID:ySpyuYdG
>>783
クッサw
死ねよハゲ^^
785デフォルトの名無しさん
2017/12/19(火) 22:15:56.11ID:XIiNWcV9
>>784
センスの欠片もない
キミにプログラム開発は無理
786デフォルトの名無しさん
2017/12/19(火) 22:17:09.67ID:ySpyuYdG
>>785
口臭いです^^
歯磨きサボらないで下さい・・・
787デフォルトの名無しさん
2017/12/19(火) 22:20:34.71ID:XIiNWcV9
>>786
ここまで酷いのは見たことがない
誰かが適切なアドバイスをしたとしてもキミは斜め45度下へぶっとぶだろう
上ではなく下だwww
788デフォルトの名無しさん
2017/12/19(火) 22:21:50.93ID:Li3fAhD+
どうやったらこんなつまんないレスを返せるんだよ...
重症やな w
789デフォルトの名無しさん
2017/12/19(火) 22:24:47.20ID:ySpyuYdG
>>787
顔赤くなってますよ^^
もっとクールなキャラだったような気がします・・・
790デフォルトの名無しさん
2017/12/19(火) 22:29:22.36ID:f0lLnGqp
MVPクラスの人は居ますか?
791デフォルトの名無しさん
2017/12/19(火) 22:30:42.82ID:MJol/7NU
>>790
>>777をエントリーしといた
792デフォルトの名無しさん
2017/12/19(火) 22:30:56.03ID:XIiNWcV9
>>789
余りにも寒いコードを見たものでなw
793デフォルトの名無しさん
2017/12/19(火) 22:32:05.29ID:7vxZYYFe
VIP患者なら大勢いるねw
794デフォルトの名無しさん
2017/12/19(火) 22:35:08.57ID:ySpyuYdG
>>792
誰と勘違いしているのでしょう・・・
IDはちゃんとチェックしましょうね^^
795デフォルトの名無しさん
2017/12/19(火) 22:38:19.96ID:XIiNWcV9
>>794
>>777 の同類だろwww
796デフォルトの名無しさん
2017/12/19(火) 22:41:32.93ID:ySpyuYdG
>>795
おやおや・・・
とても都合の良い解釈ですね^^
右も左も分からない初心者に「センス無し、問題外」なんて冷たい言葉をかけるのはやめましょうね・・・
797デフォルトの名無しさん
2017/12/19(火) 22:50:03.39ID:z/JS3u8x
まあ、自分が駆け出しの頃に上司にそう言われたことの腹いせにここで鬱憤晴らしてるんだろうなぁ....
798デフォルトの名無しさん
2017/12/19(火) 23:01:26.33ID:MJol/7NU
別にどう組んでも動くし
正解はないのかもな

ただ、この言語で表現できる中規模のまとまりをそんなプロパティレベルのもんに使われると粒度の把握がし難いなと

結局設計の良し悪しなんてソイツの気分だからね
799デフォルトの名無しさん
2017/12/19(火) 23:48:04.54ID:QDUgEa5j
例が例だから粒度的におかしいけどこんなこともできますよ的な…
Addで費用つっこんで使える
Removeとか全部略

public class 費用リスト
{
long sum = 0;
public long 合計 => sum;
List<費用> list = new List<費用>();
public ReadOnlyCollection<費用> 品目 { get;}

public 費用リスト()
{
品目 = new ReadOnlyCollection<費用>(list);
}

public void Add(費用 hiyo)
{
if (hiyo == null) { return; }
sum += hiyo.金額;
list.Add(hiyo);
}
}
800デフォルトの名無しさん
2017/12/20(水) 00:00:42.82ID:+SxGwy2+
わざわざ費目をクラスで分けている理由のことじゃないの?
>>799だけなら別に必要ないかと。
801デフォルトの名無しさん
2017/12/20(水) 05:02:03.39ID:/+M3aR4Y
>>777
例として固定値を返していると仮定
金額が費用の状態によって複雑になるなら有な考え方だと思う
802デフォルトの名無しさん
2017/12/20(水) 05:27:10.69ID:uEdWuAdp
ねーな
業務上3000とか4000とか値扱ってる奴のが多いだろ
こういう組み方見るだけでうげっとする
じゃあ、構造を把握するためにクラス図でも見てみよーかって
資料開いた瞬間閉じるわ
803デフォルトの名無しさん
2017/12/20(水) 06:24:16.03ID:w7lpXa1y
プログラムセンスのあるヤツなら最初からやらない間違いで
残念ながら矯正不能なんだわ
804752
2017/12/20(水) 07:08:03.81ID:FojWkfgf
費目が8個なのでサブクラスに各費目クラスを作ったのですが。。。

サブクラスは何個くらいが適当なのでしょうか
10個超えるとアウトでしょうか
805752
2017/12/20(水) 07:15:48.78ID:FojWkfgf
ちなみに費目をクラスで分けた理由は、費目ごとにちょっと込み入った算出処理をするので、それぞれを閉じ込めておきたいと思いました

でも、費用が最小の粒度の方が一般的な雰囲気ですね

急遽プログラムをやれと言われた人間なのでセンスとか言われると厳しいです
806デフォルトの名無しさん
2017/12/20(水) 07:35:47.88ID:+xQghQuB
>>805
ならサブクラスでいいよ
ここの連中は単純な家計簿みたいなツールを前提に話してる
そうじゃなく対象が複雑なら話は変わる
807デフォルトの名無しさん
2017/12/20(水) 07:42:10.14ID:uEdWuAdp
>>806
変わるかなぁ?
日○とか三○でもそんなの見たことないよ
ちなみにそこだと項目数が10万とか超えちゃってるかんね
それ全部クラス作ったらw
808752
2017/12/20(水) 07:53:51.41ID:JgbCLwPB
>>806
クラス分けしても悪くはないですか
ありがとうございます

ただ、費用の抽象クラスを費用クラスにしてメソッドを各費目算出とすると、メソッドに「費用合計算出」を作っても違和感が無いかなとも思い

プログラムは難しいとしみじみ思いました
809デフォルトの名無しさん
2017/12/20(水) 07:59:44.59ID:+xQghQuB
>>807
対象としてるドメインが違うだろ
呆れるわ
810デフォルトの名無しさん
2017/12/20(水) 08:14:04.00ID:XFxcCwxD
業務アプリの設計なんかDFD描いてトランザクションスクリプトでいいよ
開発者全員が相当慣れてない限り、まともなオブジェクト指向でスケールさせるのは現実的に無理
811デフォルトの名無しさん
2017/12/20(水) 08:17:09.42ID:dzFn8RAE
費目の数が10万!?
ないわー w
812デフォルトの名無しさん
2017/12/20(水) 08:20:29.69ID:dzFn8RAE
>>808
> ただ、費用の抽象クラスを費用クラスにしてメソッドを各費目算出とすると、メソッドに「費用合計算出」を作っても違和感が無いかなとも思い
個々の費目で合計なんて求めようがないと思うが...
合計の算出は費目を束ねるクラスでやるべき話じゃね?
813デフォルトの名無しさん
2017/12/20(水) 08:23:01.94ID:TnQp+4qQ
それ以前に、費用の集計なんかSQLでいいよ
814デフォルトの名無しさん
2017/12/20(水) 08:44:12.56ID:uEdWuAdp
>>811
余裕っしょ
設定数100個の部品が100個あっただけでもう一万よ
でかい機械で部品数たった100個とかありえないから10万は確実に超える
もっとあるだろうなぁ
815デフォルトの名無しさん
2017/12/20(水) 08:44:55.30ID:apLR0/3w
>>805
にわかプログラマーならオブジェクト指向に拘るより
もっと単純な仕組みでやったほうが良いね
目的がオブジェクト指向になって簡単なものを複雑にしてる気がする
816デフォルトの名無しさん
2017/12/20(水) 09:24:55.44ID:CxRyWMoc
急遽プログラムやれと言われてこれだけオブジェクト指向理解したならすごいな
817デフォルトの名無しさん
2017/12/20(水) 09:30:51.88ID:apLR0/3w
費目毎のクラス分けは目眩がするけど
818デフォルトの名無しさん
2017/12/20(水) 09:30:52.50ID:gjQwmCKz
>>804
ケースバイケース
819デフォルトの名無しさん
2017/12/20(水) 09:33:53.14ID:gjQwmCKz
>>808
非常にセンスが良い
自信持って良い
注意点はおかしな現場(こっちの方が多数派だったりするがw)へ行った時に絶望しないことかな
820デフォルトの名無しさん
2017/12/20(水) 10:12:49.94ID:IdA1DVd/
授業でC言語ちょっとやっただけでオブジェクト思考はちっとも理解してないから>>777がそんなに悪いのかわからない
費用ってクラスを使って家賃、光熱費のインスタンスを作るようにしたらいいのか?
821デフォルトの名無しさん
2017/12/20(水) 10:28:45.17ID:GdnGy9ZB
>>799
sum += hiyo.金額;
エラー CS0019 演算子 '+=' を 'long' と 'メソッド グループ' 型のオペランドに適用することはできません
と出るのですが、正解を教えて下さい。
822デフォルトの名無しさん
2017/12/20(水) 10:30:50.20ID:irahYJNV
元の奴が金額がメソッドになってるけど
それはプロパティになってる

というか金額をメソッドにしちゃだめ
元のコードがダメ
823デフォルトの名無しさん
2017/12/20(水) 10:36:11.97ID:GdnGy9ZB
>>822
このエラーが出ている行を
エラーが出ないように修正する方法を教えて下さい。
824デフォルトの名無しさん
2017/12/20(水) 10:38:08.67ID:irahYJNV
>>777の 金額をメソッドからプロパティに書き直す
825デフォルトの名無しさん
2017/12/20(水) 10:44:45.87ID:N4PPX6u2
どーせ()忘れ
826デフォルトの名無しさん
2017/12/20(水) 10:47:18.91ID:GdnGy9ZB
>>824
>>825
文章で説明して頂いても理解出来ないので
完全版のコードを掲載して頂けると有難いです。
827デフォルトの名無しさん
2017/12/20(水) 10:50:33.77ID:irahYJNV
プロパティが自分で書けないならここからコード書いてても無駄だよ

早く勉強しろよ
828デフォルトの名無しさん
2017/12/20(水) 10:53:01.07ID:hctoYabD
>>826
hiyo.金額()
829デフォルトの名無しさん
2017/12/20(水) 11:01:57.32ID:GdnGy9ZB
>>828
ありがとうございました。
830デフォルトの名無しさん
2017/12/20(水) 11:04:38.98ID:irahYJNV
煽りでも何でもなく
プロパティが自分で書けないならここからコード書いてても無駄だよ
831デフォルトの名無しさん
2017/12/20(水) 11:11:07.65ID:hctoYabD
あ、そすか。
832デフォルトの名無しさん
2017/12/20(水) 11:19:04.73ID:fz4ulcZ2
>>822
金額をメソッドにしちゃダメな理由を3行で
833デフォルトの名無しさん
2017/12/20(水) 11:44:22.53ID:EHvPlft0
まあ普通に考えればメソッドなら金額計算みたいに動詞的にしろよとは思うな
日本語メンバ名だと曖昧だけど
834デフォルトの名無しさん
2017/12/20(水) 11:48:55.09ID:884JsNpl
まだやっていたんだ、簡単なことを難しくするバカのお手本
835デフォルトの名無しさん
2017/12/20(水) 11:50:57.09ID:Wpgvy9KL
そうですか^^
836デフォルトの名無しさん
2017/12/20(水) 11:55:45.07ID:yB/d6H1Y
>>834
同意する
837デフォルトの名無しさん
2017/12/20(水) 11:57:47.91ID:uig5CTB+
初心者に説教するアホ多過ぎ
弱いものイジメはイクナイ(´・ω・`)
838デフォルトの名無しさん
2017/12/20(水) 12:04:02.26ID:Cxfy3ZNg
>>752の人はたぶんネタなんだろうね。
結局何が聞きたいのか明確にしろって言っても答えないし
ネタのつもりなら何が面白いのかさっぱり分からんが

こんな曖昧な質問に曖昧なまま答える奴も頭どうかしてると思うけど
839デフォルトの名無しさん
2017/12/20(水) 12:05:42.91ID:MbxWSbMs
マジでネタと思ってる奴って頭どうにかしてるよね
840752
2017/12/20(水) 12:15:20.79ID:qNzSCdz1
>>838
費用のようなものを費目単位でクラス化したのですが、一般的にはどうなのでしょうかと質問したつもりですが、意図が伝わらなかったみたいですみません

結論としては、費用をクラスとし、費目メソッドを数分作る方が一般的なのかなという結論に辿り着きました

色々と参考になりました
841752
2017/12/20(水) 12:20:38.93ID:qNzSCdz1
>>838
モデリングの対象次第で答えが変わるもの、答えようが無いということなのでしょうね

最近やっと覚えた抽象クラスを使いたかっただけかもと言われたらそうかも知れません

反省しています
842752
2017/12/20(水) 12:41:55.46ID:qNzSCdz1
最後にすみません。ある条件で作業時間×レートが費用になるので、費用クラスと作業時間クラスを費用算出メソッドを持つインターフェースで継承させようと思うのですが、インターフェース名が「費用算出」はセンスが無いでしょうか?

インターフェースを使えばコードが仕様を語ってくれるのではと期待しているのですが基本情報資格も持っていない自分にはこれで良いのか解らず

実務経験豊富な諸兄にお尋ねしたい次第です
843デフォルトの名無しさん
2017/12/20(水) 12:45:22.87ID:yB/d6H1Y
レートクラスは無いのん?
844デフォルトの名無しさん
2017/12/20(水) 12:49:20.00ID:dzFn8RAE
>>814
お前は費目の意味わかってないだろ...
部品一個一個に異なる費目がつくんじゃねーぞ w
クラスとインスタンスの違いも理解してないと見た
845デフォルトの名無しさん
2017/12/20(水) 12:51:34.80ID:dzFn8RAE
>>837
てか、説教してるつもりの奴の方がレベル低いし w
846デフォルトの名無しさん
2017/12/20(水) 12:53:14.86ID:dzFn8RAE
>>842
俺は算出って用語をあまり見ないから少し違和感あるけどまあそれで違和感ないならいいんじゃね
847デフォルトの名無しさん
2017/12/20(水) 13:49:49.11ID:bqoc1RuE
>>844
違うよ
こんな細かい項目クラスにしちゃって全体の粒度はどうなるの?って話
848デフォルトの名無しさん
2017/12/20(水) 13:51:39.57ID:bqoc1RuE
やっぱり設計のときにクラス図書かせるべきだな
あまりにも小さい項目いちいちクラスで構えるつもりならそれも全部
クラス図として書いてもらおう
849デフォルトの名無しさん
2017/12/20(水) 17:45:30.12ID:dzFn8RAE
>>847
だから費目が10万とかはあり得んだろって話
うちの会社はそこそこの規模で結構色々手掛けてるけどそれでも経理関係の費目コードは50ぐらいしかない
当然大分類、中分類、小分類と階層化されてるからそれに合わせて継承させればいい
まあうちの会社の情シスはそこまでやってなくて費目コードを見て分岐してそうだけど w
850デフォルトの名無しさん
2017/12/20(水) 17:53:32.28ID:kZMVhJ0h
>>849
じゃそれでもいいけど
それだけで50個クラスできるんでしょ?
クラス図どうなるの?クラス50個作るん?
って言いたいわけよ

結局設計ってさ
わかりやすいか
わかりにくいか
だけなんだよね

上下のわからんクラスって粒度を
そんなちっぽけなもんに使うと
全体が見えなくなっちゃうんだよ

費目は少なくてってそれお前の環境がそうってだけの偶然でしょ?
この方針はオススメできないね俺は

まあ、どう組んでも動けばよいのであくまでオススメの域
851デフォルトの名無しさん
2017/12/20(水) 17:57:31.91ID:0mbmAU0+
50個のクラスができるものをクラス使わずにごちゃ混ぜにしたら余計にわけわからんだろ
こういう話題で数が増えたらどうするの?って反論するやつが必ず現れるけどそれ墓穴掘ってるだけだぞ
852752
2017/12/20(水) 18:12:27.89ID:PXZlLTCM
>>843
レートクラスは必要かも知れないですね
まだまだ考慮不足でした
853デフォルトの名無しさん
2017/12/20(水) 18:25:24.19ID:AIjICjtT
データが構造を持ってしまうと、別の使い方をする時に手間が増えるだけなんだよ
データはデータでクラスにする必要なんかまったく無い
854デフォルトの名無しさん
2017/12/20(水) 18:31:13.93ID:dzFn8RAE
>>850
> クラス図どうなるの?クラス50個作るん?
必要なら作るだけだろ

> 上下のわからんクラスって粒度を
> そんなちっぽけなもんに使うと
> 全体が見えなくなっちゃうんだよ
それお前さんの管理能力の問題...

> 費目は少なくてってそれお前の環境がそうってだけの偶然でしょ?
世の中の会計ソフトとか見てみな
もしくは自分の会社の経理担当者に聞けばわかると思うよ

> この方針はオススメできないね俺は
別にお前もそうしろなんて言ってないから勝手にやってなよ
855デフォルトの名無しさん
2017/12/20(水) 18:47:00.16ID:n3mgdNKt
>>853
別の使い方する時点で分析設計ミス
856デフォルトの名無しさん
2017/12/20(水) 18:56:33.13ID:R/x04Nlq
>>854
残念ながら、世の中の会計ソフトなんかほぼ100%トランザクションスクリプトだよ
857デフォルトの名無しさん
2017/12/20(水) 19:01:31.53ID:6oreCn9e
>>851
好きなようにすればいいよ
ただ、お前のクラス図に50個のクラスが並ぶだけ
858デフォルトの名無しさん
2017/12/20(水) 19:08:20.84ID:dzFn8RAE
>>856
なんの話をしてるんだよ w
859デフォルトの名無しさん
2017/12/20(水) 19:13:04.16ID:w7lpXa1y
費目、時間単価、時間がそれぞれ独立したクラスか
めまいを禁じ得ない
860デフォルトの名無しさん
2017/12/20(水) 19:35:42.09ID:n3mgdNKt
それらが同じクラスに混在する方が目眩するわ
861デフォルトの名無しさん
2017/12/20(水) 19:59:30.76ID:+lUILV8P
で、最終顧客がのぞむ要求に答えられるアプリケーションなのかと
862デフォルトの名無しさん
2017/12/20(水) 20:00:24.04ID:1pJRigF6
全体を把握しないと作業に取り掛かれないなら
既にクラス設計として破綻してるとしか
863デフォルトの名無しさん
2017/12/20(水) 20:45:21.17ID:QInM5P3Y
結局要件があいまいだから何とも言えんけど普通に考えれば費目ごとに派生するのはないね。

せっかくC#にはデリゲートがあるんだから、費目で違う処理はコンストラクタで
デリゲート食わせて対応できるし、その上でプロトタイプパターン適用した方が分かりやすいと思うよ。

もちろん費目ごとの固有の処理が費目固有のプロパティに依存するような場合は
継承を使うしかないけどね
864デフォルトの名無しさん
2017/12/20(水) 21:00:51.80ID:D80mgGFK
費目はクラスじゃなくてデータにするべきものでは在るが、初心者が「そう言われたから」って理由でやるより
何故そうなのかを理解してやるのは悪いことじゃない
自分で考える人を挫くスタイルはあまり感心しないな
865デフォルトの名無しさん
2017/12/20(水) 21:05:35.30ID:n3mgdNKt
種類によって振る舞いが違うって要件なのにデータで扱うとか呆れるわ
どんだけswitchする気だよ
866デフォルトの名無しさん
2017/12/20(水) 21:15:55.31ID:dxH3+214
> 自分で考える人を挫くスタイルはあまり感心しないな
マウントしたいだけやろ
今回は質問者の方がレベル高いからアホみたいなことになってるけど w
867デフォルトの名無しさん
2017/12/20(水) 21:16:44.49ID:R/x04Nlq
>>865
アホ
全く別のデータ項目をどうやったら混同できるんだ
868デフォルトの名無しさん
2017/12/20(水) 21:22:03.45ID:n3mgdNKt
>>867
全く別のものを混同して同じデータ構造でごちゃ混ぜに扱おうとしてるのがデータフロー派だぞ
俺や質問者は異なる物は異なるクラスにしろっていうオブジェクト指向派な
むしろ真逆だわ
869デフォルトの名無しさん
2017/12/20(水) 21:33:44.71ID:6oreCn9e
>>868
何でこんなくだらないものいちいちクラスにするんだ
クラス図書かないからこんな蜘蛛の巣みたいなクラス図作って平気な面してんだろお前
870デフォルトの名無しさん
2017/12/20(水) 21:35:40.32ID:R/x04Nlq
>>868
混ぜて使いたいからクラスにするんだと思ってたんだが違うのか?
全く別物として区別して扱うんなら行全体を1クラスにして複数のフィールドで持つのと大差ないと思うけど?
871デフォルトの名無しさん
2017/12/20(水) 21:49:04.68ID:ie4nb91k
費用と言っても材料費、人件費、、減価償却費、貸倒引当金など性格や扱いの異なるものを同じ基底から派生させるのはどだい無理がある
集計したいだけなら金額を取得するインターフェイスを実装する方が賢い
872デフォルトの名無しさん
2017/12/20(水) 22:10:01.13ID:n3mgdNKt
>>869
アホほど条件分岐書いて平気な顔してるやつに言われたくない
きみさクラス図どころかオブジェクト指向すらしたことないだろ?

>>870
同じ規約で異なるものを集めるのと
異なるものをただひとつのものとするのと
全く違うことだ
混ぜるという言葉の使い方を見極めろ
873デフォルトの名無しさん
2017/12/20(水) 22:10:03.47ID:WriG98aZ
List〈string[]〉の型をstring[]の特定の列をキーにしてソートしたいんですけど
List.Sort(x => x[1]);
のような書き方はできないのでしょうか?
List〈class〉を用意するしかないのでしょうか?多分Listの中の配列にもLINQ使えそうなんですが・・・

テストで試しに動かしたいだけなのにわざわざclassを書くのが大変なので・・・
874デフォルトの名無しさん
2017/12/20(水) 22:18:17.41ID:gjQwmCKz
>>873
Sortは過去の遺物
OrderBy使っときなさい
875デフォルトの名無しさん
2017/12/20(水) 22:26:57.08ID:6oreCn9e
>>872
でもさ
クラス図書いたら君のはこんなくだらない処理でクラスが50個も並んでるんだぜ
どの辺がいいプログラムなの?
他のも合わせれば5-600は行くんじゃない?
正しいクラス図なんて一度も書いたことないっしょ?
おそらく資料見てもこのクラスは記述があるけどこのクラスは記述がないなぁ
ってもんを平気で作っちゃうでしょ?
876デフォルトの名無しさん
2017/12/20(水) 22:31:22.52ID:n3mgdNKt
>>875
そのドメインがそういうものなら何百クラスだろうがクラスで書くのが正しい
それがそのドメインでは最も簡潔で正しい姿なんだよ

そこを曲げてデータ区分や条件分岐で雑なコードを書いたら
クラス数は増えないかもしれないがコードの複雑度が爆発的に高まるだけ

なぜなら数百クラスが個々に持つべき振る舞いが同じクラスに区別なく同居してしまうんだぜ?
ろくなことにならないよ
877デフォルトの名無しさん
2017/12/20(水) 22:32:30.67ID:WriG98aZ
>>874
OrderByも試したんですがこのラムダ式だと意図した動作にならないです
とりあえずList〈class〉で素直に書いてみますが、ラムダ式のキーに配列やListのインデックス指定して使うのは無理なんでしょうか?
878デフォルトの名無しさん
2017/12/20(水) 22:33:13.38ID:GdnGy9ZB
>>873
>型をstring[]の特定の列をキーにしてソートしたいん
ってどういう事ですか?
型をソートするの意味が分かりません。
初心者なので詳しく教えて下さい。
879デフォルトの名無しさん
2017/12/20(水) 22:35:03.12ID:QInM5P3Y
意図した動作にならないのをバグっていうんだと思いますw
880デフォルトの名無しさん
2017/12/20(水) 22:36:47.64ID:6oreCn9e
>>876
そもそも設計書で四角で囲って強調すべき単位なの?費目って
オブジェクト指向も自分解釈でおおよそ一般人がオブジェクトなんてしない単位でオブジェクトを作ってるよね?
881デフォルトの名無しさん
2017/12/20(水) 22:40:38.82ID:D80mgGFK
>>876
結局DBに入れて永続化しなくちゃいかんわけで、その用途考えると数百のクラスとかありえんのさ
EFで扱える範囲で物を考えたほうが良いよ
882デフォルトの名無しさん
2017/12/20(水) 22:42:06.35ID:WriG98aZ
>>878
ちょっと説明不足してたので補足

List〈string[]〉

{"1", "aa", "1個目"},
{"2", "bbb", "2個目"},
{"3", "abc", "3個目"},
{"4", "dddd", "4個目"}

の形があった場合、string[1]のところを基準にソートさせたいってことですね

public class test

public string id{get; set;}
public string text{get; set;}
public string discription{get; set;}

みたいな形式だった場合
list.OrderBy(x => x.text);
と同じ動作にしたいということです
883デフォルトの名無しさん
2017/12/20(水) 22:54:00.94ID:QInM5P3Y
>>882
そこが分からない人はいないと思うよw
逆に何が難しいの

list.OrderBy(x => Integer.Parse(x[0]));

とか、

list.Sort((x, y) => Integer.Parse(x[0]) - IntegerParse(y[0]));

ではダメなんですか?
884デフォルトの名無しさん
2017/12/20(水) 22:55:43.46ID:QInM5P3Y
あ、やってもーたw
IntegerじゃなくてInt32ね
885デフォルトの名無しさん
2017/12/20(水) 22:59:37.49ID:WriG98aZ
>>883
classでも試してだめでした
それで動かなかったので質問したのですが、classもソートされなかったのでデータ側の問題かもです
さっきのダミーデータでちゃんと挙動するか試します
886デフォルトの名無しさん
2017/12/20(水) 23:03:12.47ID:n3mgdNKt
>>880
質問者のドメインでは書くべきものだよ
振る舞いが異なる別のものだからね
それが数百種類でそれぞれ異なるような複雑なドメインなら書くんだよ
無理やり1つのレコードに押し付けちゃダメ
逆にドメインそのものがシンプルで1つのクラスで表現すべきならそうする

きみのおかしな点は質問者のドメインを無視してきみの頭の中にあるシンプルなドメインを前提に話を進めようとするところだな
独りよがりってこと

>>881
実装はどうとでもなる
RDBにこだわる必要もない
887デフォルトの名無しさん
2017/12/20(水) 23:06:38.88ID:QInM5P3Y
>>885
classってのが何のことかよくわからないけど、OrderByの方使ってる?

LINQのメソッドはコレクションをのものを並び替えるのではなくて
並び替えた列挙オブジェクトを返すんだけど、そこを誤解してるなんてオチではなくて?
888デフォルトの名無しさん
2017/12/20(水) 23:17:47.14ID:dFGD4M7x
>>885
https://ideone.com/5Vgtw7
できたよ
889デフォルトの名無しさん
2017/12/20(水) 23:21:21.55ID:lugKio2h
書き方がわかりませんということだから並び替え方法とは違うように読めたけどな
list = list.OrderBy(x => x[1]).ToList();
もしくは
list.Sort((x, y) => x[1].CompareTo(y[1]));
とかだろ
OrderByはシーケンスが返ってくるからListにしたい場合はToListが要る
Sortは直接並び替えてるので前の状態も欲しい場合は事前にコピーしておくかな
890デフォルトの名無しさん
2017/12/20(水) 23:23:23.48ID:WriG98aZ
>>888
ありがとうございます
var a = ~
って感じで受け取っててVSで中身無いけどどうなってるの??
IOrderedEnumerabel〈~〉型ってなんだ?ってなってましたけどforeachに直接入れないとダメなんですね
使い方間違えてました

>>887
これでした、すいません
891デフォルトの名無しさん
2017/12/20(水) 23:26:14.46ID:WriG98aZ
>>889
あぁToList()を忘れてました
あやふやな記憶で使っててToList()使うって教わったのにすっかり忘れてました
型の返り方の説明見て、正しい扱い方覚えないといけないですねすいません
ICollectionみたいなやつとか、抽象化されてるからToListでListに明示的に変換しないとあかんやつでした
892デフォルトの名無しさん
2017/12/20(水) 23:29:58.52ID:Xe3ly/H6
>>890
てかその構造のデータをstring[]で扱わなきゃいけない理由が何かあんの?
893デフォルトの名無しさん
2017/12/20(水) 23:31:09.24ID:Xe3ly/H6
あ、ごめん書いてたね
894デフォルトの名無しさん
2017/12/20(水) 23:35:13.47ID:WriG98aZ
>>892
試しにデータ群扱う時にclass宣言したり、大量のデータを型分けするのがめんどいからこういう扱い方できると楽ってだけですね
この使い方ならcsv形式にsplitでListぶち込むだけでやれるので宣言項目少なくてテストするなら楽ってだけです
DBから持って来るときは文字列型じゃなければToStringかけたりとかありそうですが
最近はEF使ってるので楽ですけどね
895デフォルトの名無しさん
2017/12/20(水) 23:38:15.25ID:nn3v7K50
Kotlin では、ある列の値で、レコードをソートするのは以下。
年齢・名前でソートする

http://2chb.net/r/tech/1509462463/18
896デフォルトの名無しさん
2017/12/20(水) 23:44:31.66ID:Xe3ly/H6
>>894
Visual Studioならjsonからクラスを自動生成できるからクラスの方が扱いやすいけどね。stringとHashtableまみれのコードとか絶対メンテできない…
897デフォルトの名無しさん
2017/12/20(水) 23:49:35.45ID:WriG98aZ
>>896
こんな機能あるんですね!
interfaceのメソッド自動実装ぐらいしか知らなかったのでこういうの積極的に使いたいです
898デフォルトの名無しさん
2017/12/21(木) 00:47:58.94ID:HdSqx1Ax
http://yossk.hatenablog.com/entry/2015/02/23/070546

ここの「4-3散在する情報」のサンプルコード
川俣晶の本からのコピーなんだけど

Runメソッド内で値設定したあと
CalcDistメソッド先頭で値をリセットしてるから
常に計算結果0になるように見えるんだけど
なんか俺読み間違えてる?
899デフォルトの名無しさん
2017/12/21(木) 00:54:31.04ID:h7wsiOnr
たしかに
900デフォルトの名無しさん
2017/12/21(木) 03:28:09.32ID:3KOuKcBo
>>886
はぁ?人件費がクラスに?
センス悪いじゃん
901デフォルトの名無しさん
2017/12/21(木) 05:44:12.11ID:/dR3YALD
>>900
人件費と光熱費が異なる振る舞いをするなら別のクラスにするのが正しい
センスの問題じゃない常識の問題
902デフォルトの名無しさん
2017/12/21(木) 06:04:58.06ID:gZ1XcqWP
>>901
はぁ?
どう組んでも動きますが?
903デフォルトの名無しさん
2017/12/21(木) 06:50:24.48ID:/eYbpg/S
オブジェクト指向は物事を複雑にするためにあるモノじゃ無いぞ。
オブジェクト指向を目的にしてどうするwww
904デフォルトの名無しさん
2017/12/21(木) 06:50:56.44ID:c0/BZHI9
動く動かないとセンスの有無は別の話
理解力無さすぎだろ w
905デフォルトの名無しさん
2017/12/21(木) 06:56:56.39ID:/eYbpg/S
どの世界でも原理主義者は物事を複雑にするw
906デフォルトの名無しさん
2017/12/21(木) 06:57:03.08ID:gZ1XcqWP
>>904
正しいとかおかしいよな
どう組んでも動くし
907デフォルトの名無しさん
2017/12/21(木) 07:00:31.05ID:gZ1XcqWP
クラス図書かないやつは客観的に自分の設計を見ることができない
だからこんなプロパティ単位のものクラスにして
クラス図を蜘蛛の巣にしちゃっても
それを汚いと反省する機会がない

ただし、どう組んでも動くのであくまで俺の持論
908752
2017/12/21(木) 07:13:38.51ID:RBSPw/d+
費用クラスの者ですが、色々なアドバイスありがとうございます
参考になります

>>902
どう組んでも動くの精神で、前任のパートさんが凄いの組んでくれたので、オブジェクト指向を意識し始めました

クラスどころかイベントリスナーのメソッドというのでしょうか?
そこから共通関数すらなく処理されているので、なんとかしたかったのです

ドメイン層とアプリ層とインフラ層が渾然一体となっていると、どう手を付けて良いのやら
909デフォルトの名無しさん
2017/12/21(木) 07:25:44.67ID:Mqu0aN7Q
必要最低限だけ修正しろ
コードのきれいさは主観
他人のコードはすべて糞コード
910デフォルトの名無しさん
2017/12/21(木) 07:27:47.47ID:gZ1XcqWP
>>908
お前のはプロパティ単位もクラスになってるからさらにカオスだな
初見で見た人間がそのたくさんあるクラスの依存関係がわかるといいな
911デフォルトの名無しさん
2017/12/21(木) 07:42:54.80ID:iiESRPBo
と、プロパティ単位とか意味不明のことをつぶやいており当局は措置入院の必要性があると判断している模様です
912デフォルトの名無しさん
2017/12/21(木) 07:56:29.75ID:h7wsiOnr
>>908
おまえ本当に未経験者かよwww
913デフォルトの名無しさん
2017/12/21(木) 08:08:25.86ID:gZ1XcqWP
残念なのはおそらくこいつはコードレビューとかしたことないね
クラス図と基本設計書との不一致とか設計書のレビューもやったことない
このレベルでクラス図なんて書いたらごちゃごちゃしてなんだかわからないだろ

見難いよって誰からも指摘されたことないから当然伸びない
修正が聞かないまま今に至る
914デフォルトの名無しさん
2017/12/21(木) 08:09:15.38ID:gYUruymP
(キリッ
915デフォルトの名無しさん
2017/12/21(木) 08:17:58.61ID:81J6Ca8t
新参だがここで聞くのは無駄だってことは分かった
916デフォルトの名無しさん
2017/12/21(木) 08:37:19.47ID:VQD1Tiju
>>908
え~、今更オブジェクト指向なの?
c#はマルチパラダイム言語なのに
917デフォルトの名無しさん
2017/12/21(木) 08:40:09.55ID:VQD1Tiju
>>915
ちゃんとした質問ならまともな答えが帰って来る。
トンデモ質問はスルーされるかネタにされて遊ばれるw
918デフォルトの名無しさん
2017/12/21(木) 08:54:24.69ID:upKQQwHx
最近クラス図キチガイが湧いてるな
919デフォルトの名無しさん
2017/12/21(木) 09:04:04.27ID:VQD1Tiju
>>912
素人だろうね。
ギョーミーなアプリ開発の経験者に費目毎のクラス化なんて発想はない。
社内のパソコンマニアに白羽の矢が立っただけ。
920デフォルトの名無しさん
2017/12/21(木) 10:15:36.99ID:VXvVb2gy
>>919
俺が言ったのは本当にプログラミング初体験なのかよってことな。
921デフォルトの名無しさん
2017/12/21(木) 10:19:43.29ID:iwfbZ4kw
javaの匂いが消えない
922デフォルトの名無しさん
2017/12/21(木) 10:33:22.61ID:VQD1Tiju
>>920
大学出てりゃプログラミング初体験なんてことは無いだろうな。
プログラミング教育義務化なのでプログラミング初体験者ゼロの世の中になるw
923デフォルトの名無しさん
2017/12/21(木) 10:41:24.50ID:VXvVb2gy
>>805
>急遽プログラムをやれと言われた人間なのでセンスとか言われると厳しいです
924デフォルトの名無しさん
2017/12/21(木) 12:03:45.23ID:Q/EvmKMe
>>908
昨日も書いた((>>863)けど、費目ごとに派生クラス作れ、なんて話は真に受けない方がいいと思うよw
処理の委譲はデリゲートでもできる。
925デフォルトの名無しさん
2017/12/21(木) 12:50:57.69ID:iiESRPBo
>>918
自称上級者なんだろ
今度はデリゲートとか言い出しちゃってるし
自分の知ってる単語ならべてるって感じ w
926752
2017/12/21(木) 12:55:56.30ID:Bs03k3IZ
>>923
急遽と言っても半年以上OJTの形で作っているので、変数、関数、クラスが何なのか程度は理解しています

で、費用と費目は抽象クラスを使うのに絶好の課題ではと初めて使ってみて、世間様ではどう思われるか聞いてみたら、そんな関係には使わないと指摘された次第です
927752
2017/12/21(木) 13:00:11.33ID:Bs03k3IZ
ズブの素人でも手続き型プログラムを一ヶ月で作れるようになったのは、visual studioの支援とC#の解りやすさのおかげだと感謝してます

ゆえに急遽突っ込まれたのかも知りませんが
928デフォルトの名無しさん
2017/12/21(木) 13:29:10.16ID:WNlCIVzg
>>926
結局ね、データってのはDBに保存したり手で入力したりするものなので
データごとにクラスが変わったりすると破綻するんですよ
クラス分けは集計には便利かもしれんが、全ての工程でどうなるか考えて設計しないとね
929デフォルトの名無しさん
2017/12/21(木) 13:38:55.98ID:xinkvf3y
>>927
ズブの素人が1ヶ月でc#をそれなりにマスターするなんて凄いわ。
オレは無理だ (ーー;)
930752
2017/12/21(木) 17:30:18.01ID:68OBjHX8
>>929
最初の二ヶ月は前任の人が引き継ぎ兼トレーニングしてくれたのでブートは早かったと思います
そこから半年でやっと継承を触ったので、成長曲線はそこまで急では無いかと

比較が解らないですが仮に成長が早いとするとC#が非常に取っ付きやすかったのが大きいと思います

基本情報試験のアルゴリズムとかさっぱり解らないので、プログラム能力は経験相応に低いと思います
931752
2017/12/21(木) 17:42:42.42ID:68OBjHX8
>>913
PM交え前任者とコードレビューをしましたが、三項演算子とLINQは見難いと指摘されました

手続き型より宣言型のが良いとネットで見たのですが

逆に前任者が書いた4重ネストのfor文にifelseが連ねてあるコードはいくら頭をひねっても理解できず
数字の動きはステップ実行で見れるのですが、だから何って感じになります
ゆえに知識を整理したくなり初めて抽象クラスを意識した次第です
932デフォルトの名無しさん
2017/12/21(木) 17:50:29.58ID:c4/lwFQU
優秀だね
ここにくると馬鹿になるからもう来ない方がいいよ
933752
2017/12/21(木) 17:56:25.54ID:68OBjHX8
>>907
素朴な疑問ですがプロパティが大量に並ぶのとクラスが大量に並ぶのはどちらが好まれるのでしょうか

個人的には、クラス内にプロパティがギッシリという光景も凄いなと思うのですが

私の知らないテクニックで隠蔽できるのかも知れないので解りませんが

なおデリケートはイベントリスナとして使われてる程度の理解しかなく使いどころがピンと来ていません
精進します
934デフォルトの名無しさん
2017/12/21(木) 18:05:03.28ID:Tz1RNGN4
プログラミングしたので評価してください
archive.isに定期的にアーカイブさせるプログラムです
https://dotup.org/uploda/dotup.org1417700.zip.html 👀
Rock54: Caution(BBR-MD5:1322b9cf791dd10729e510ca36a73322)
935デフォルトの名無しさん
2017/12/21(木) 18:12:09.40ID:Tz1RNGN4
間違えてプログラムだけ上げてしまいました
こっちはプロジェクトです
https://www.axfc.net/u/3872901
936デフォルトの名無しさん
2017/12/21(木) 18:14:54.74ID:upKQQwHx
GitHubにあげてくれ
937デフォルトの名無しさん
2017/12/21(木) 18:56:17.83ID:VaR9+Vl3
ギフハブ?
938デフォルトの名無しさん
2017/12/21(木) 19:01:00.92ID:YYEMhcfN
>>933
そんなのトレードオフに決まってんじゃん
939デフォルトの名無しさん
2017/12/21(木) 19:04:17.37ID:Q/EvmKMe
>>933
何べんも言うけどさ、結局要件の詳細が分からないとどういう実装方法が
ベストかなんて何とも言えんよ

妄想込みの印象論としては費目ごとに派生クラス作るなんて筋悪に感じるなとは言えるけど
940デフォルトの名無しさん
2017/12/21(木) 19:09:52.65ID:Tz1RNGN4
(´・ω・`)
https://github.com/as123414/AutoArchiver
941デフォルトの名無しさん
2017/12/21(木) 19:21:07.79ID:iwfbZ4kw
md書け
942デフォルトの名無しさん
2017/12/21(木) 19:22:33.42ID:Ym9/Pn+0
いつから「評価してもらうスレ」になったんだよ
せめて相談室でやれよ
943デフォルトの名無しさん
2017/12/21(木) 19:37:28.56ID:iwfbZ4kw
ちょっとだけ見たけどやはり初心者ですねとまだ短いにも関わらず読みづらいコードになりそうですねということかな
一行が長いところは絶対ダメとはいわないけど大体クソコード
944デフォルトの名無しさん
2017/12/21(木) 19:41:21.29ID:Ate4yeHH
>>933
もう手続き型の組み方で良いんじゃないの?
オブジェクト指向はプログラムを分かりやすく保守しやすくするために出来たもの。
変なオブジェクト指向に拘って物事を複雑にするのは本末転倒。
945デフォルトの名無しさん
2017/12/21(木) 19:46:25.90ID:iwfbZ4kw
意味なく一行が長いのを見るとどんなエディタで書いてるんだろうかと思う
あとは一行でつなぎまくってるのを見るとデバッグがめんどくさいだろうなと思う
946デフォルトの名無しさん
2017/12/21(木) 19:47:38.41ID:Tz1RNGN4
>>945
120行目のことでしょうか
それとも出だしのメッセージボックスでしょうか
947デフォルトの名無しさん
2017/12/21(木) 19:52:03.68ID:iwfbZ4kw
もう見るつもりはないから忘れたけど後ろの方にあったメソッドは内容をもっと見直したらいいと思う
けど初心者はこんなもんだろ
948デフォルトの名無しさん
2017/12/21(木) 19:52:34.81ID:Tz1RNGN4
(´・ω・`)
949デフォルトの名無しさん
2017/12/21(木) 19:57:53.60ID:iwfbZ4kw
>>946
メソッドの結果を受ける段で概念的にわかりやすい名前で一度受けたほうがいいと思う
何々Textとか何々uriとか

あとは個人的な感想として成功じゃなくて失敗をbool値で受ければいいんではないか
bool 失敗=false

catchで失敗=true

>>948
まあこんなところで聞くやつが悪い
950デフォルトの名無しさん
2017/12/21(木) 19:58:12.75ID:HqNyhY75
>>933
小さなクラスが大量に並ぶのがオブジェクト指向の正解
951デフォルトの名無しさん
2017/12/21(木) 20:10:11.41ID:YYEMhcfN
>>950
俺はトレードオフがオススメ

ちょっとした修正でクラス図まで書き直す必要ありますはお客に印象悪い
どういう設計してんの?って聞かれる
952デフォルトの名無しさん
2017/12/21(木) 20:12:10.78ID:Mqu0aN7Q
クラス図なんて成果物にいれるからだ
953デフォルトの名無しさん
2017/12/21(木) 20:16:53.37ID:HqNyhY75
>>951
コードが変わるならドキュメントも同期させるって当たり前のことだよ
ちょっとした修正だからドキュメントは変えなくていいって、それは本来ドキュメントに書かれてなければならない事が書いてないだけ
手続き型の設計ではそういう手抜きがよくあるけどね
954デフォルトの名無しさん
2017/12/21(木) 20:17:38.91ID:Tz1RNGN4
ここで頼まれて作ったよ(´・ω・`)
http://2chb.net/r/news4vip/1513837259/
955デフォルトの名無しさん
2017/12/21(木) 20:21:08.11ID:YYEMhcfN
>>953
じゃあそうやって客に言えば?
俺とお前の資料を比べたときに
同じ修正量でもお前はセコセコ動いてなんだか余裕が無さそうに見えるから
956デフォルトの名無しさん
2017/12/21(木) 20:21:36.24ID:wimnqGen
他人に誉めてもらわないと張り合いが出ないのはわかるが
ここは初心者しかいないんだからレビューがまともに帰ってくるわけがない
957デフォルトの名無しさん
2017/12/21(木) 20:23:37.18ID:Tz1RNGN4
いまソースコードにコメント付けたので評価してください
958デフォルトの名無しさん
2017/12/21(木) 20:32:06.58ID:HqNyhY75
>>955
余裕がなさそうに見えるからwww
わらっちゃった
余裕を演出するためにやるべきことをやらずに自分を追い込んで最後には余裕なくすんだろうなキミは
959デフォルトの名無しさん
2017/12/21(木) 20:33:40.96ID:YYEMhcfN
>>958
実際お前のやり方だと
ほんのちょっとの変更でもう
クラス図から手を入れなきゃじゃん
これって変更に弱いってことじゃないの?
960デフォルトの名無しさん
2017/12/21(木) 20:41:22.00ID:YYEMhcfN
>>958
それでいいんだよ
コードの綺麗さは人間の主観だろ

だったら自分のコードじゃなくて人間を見なければ成長はしないよ
961デフォルトの名無しさん
2017/12/21(木) 20:46:30.90ID:HqNyhY75
>>959
手間がかかるから変更に弱いという考え方しかないのか?
ショートコーディングが至高ならC#じゃなくてスクリプト言語やった方がいいぞ

コード修正におけるOOPのメリットはタイプ量や作業量の少なさじゃ断じてない
わかりやすく整理されたコードをわかりやすさを維持したまま変更できることがメリットな

そりゃこだわらなきゃ手短に修正することは簡単だよ
例えばちょっとしたフラグ変数やif文を追加すればクラス構成を変えずに素早く修正して目の前の問題を解決することはできる
ローカルな修正だからドキュメントの修正も軽微で済むかもしれん
でもそれを積み重ねていくと気が付いた時にはもう手に負えなくなってしまうんだよ
962デフォルトの名無しさん
2017/12/21(木) 20:51:53.83ID:HqNyhY75
>>960
コードの綺麗さは計量可能
常識的なことだぜ

人間を見なければ成長しない(キリッ)なんて意識高いっぽいけど意味不明な戯言を言う前に
まずは君の仕事を人並みにこなせるように基本的なことを勉強しなよ
963デフォルトの名無しさん
2017/12/21(木) 20:52:40.67ID:Mqu0aN7Q
そんなことはない
オブジェクト指向はケースによって処理ががらっと変わるような場合の対処は得意だが
細部が細かいルールでちょこちょこ変わるようなのは大の苦手だ
おとなしくIF文使ったほうがいいケースはたくさんある、というかそっちが普通

あとフラグ変数まみれになるのはたぶんOOP以前に構造化プログラムができてない
964デフォルトの名無しさん
2017/12/21(木) 20:56:35.39ID:Mqu0aN7Q
計量可能とかうそだ
965デフォルトの名無しさん
2017/12/21(木) 20:59:34.57ID:iByWYmKo
>>877
んなこたあない
966デフォルトの名無しさん
2017/12/21(木) 21:00:51.75ID:Ate4yeHH
>>962
計量可能なのはコードの複雑さだろ。
将来的にはディープラーニングでカラオケマシン並みの採点ができるかもだが。
967デフォルトの名無しさん
2017/12/21(木) 21:05:03.60ID:iByWYmKo
>>927
あなたのレベルはこのスレを遥かに越えてる
汚物に汚染されない方が良いよ
968デフォルトの名無しさん
2017/12/21(木) 21:06:20.65ID:HqNyhY75
>>963
細部の修正はOOPの場合、メソッド内とかクラス内で完結するから、非常にやりやすい
苦手どころかむしろ得意な分野

手続き型だと逆に、同じ処理があちこちに分散する傾向があるから、些細な修正が思ったよりも広範囲で大規模な修正になることが少なくないね

つうかまるでOOPではif文を全く使わないように聞こえるのが気になったな
クラス内では普通に使うぞ
969デフォルトの名無しさん
2017/12/21(木) 21:08:30.80ID:HqNyhY75
>>964
コードメトリクスと言って割とポピュラーな分野だよ
970デフォルトの名無しさん
2017/12/21(木) 21:09:04.02ID:iByWYmKo
>>931
向上心の無い「おじいちゃん」達とは程々に付き合うのが吉
971デフォルトの名無しさん
2017/12/21(木) 21:17:01.86ID:YYEMhcfN
>>961
いや、変更に弱いじゃん
クラスぶっ壊して組み直さなきゃいけないんだし
972デフォルトの名無しさん
2017/12/21(木) 21:22:17.04ID:HqNyhY75
>>971
クラスをぶっ壊すほどの変更ならなおさらだよ

今あるモデルが根本的におかしいという現状把握
新しいモデルへ推移するための道筋

オブジェクト指向ならこれがはっきり見える

クラスがなかったらモデルもないのだから現状が正しいのかそうじゃないかの判断すらおぼつかない
新しいモデルもないからどうやって変更すればいいのかもぼんやりとしか見えない
現在地点も目標地点もよく認識できないんじゃこわくて動けんよ
973デフォルトの名無しさん
2017/12/21(木) 21:30:04.52ID:Y3l0yz+N
今時こんなにオブジェクト指向を信仰してるやつも珍しいな
974デフォルトの名無しさん
2017/12/21(木) 21:33:07.91ID:VaR9+Vl3
大昔はCだけでゴリゴリ書いてたんだけどなー
975デフォルトの名無しさん
2017/12/21(木) 21:34:32.41ID:YYEMhcfN
>>972
だってお前1メンバ変数1クラスの勢いでクラス作るじゃん
人件費なんてクラスにしねーだろ
こんなことしてっからちょっと変更があったらもうクラス図書き直しじゃん
設計が悪いよ
976デフォルトの名無しさん
2017/12/21(木) 21:43:02.15ID:giWx2kxQ
>>933
> 素朴な疑問ですがプロパティが大量に並ぶのとクラスが大量に並ぶのはどちらが好まれるのでしょうか
そもそもプロパティとクラスって全然違うものだからどっちがいいとかはない
クラスとインスタンスの違いがわかってない奴の戯れ言だからそう言うのは無視でいいよ

> なおデリケートはイベントリスナとして使われてる程度の理解しかなく使いどころがピンと来ていません
デリケートは一部の処理を動的に変えたりしたい時や外部から必要な処理を与えたい時に使うものだから必要になるまで覚える必要はない
>>863とかは自称上級者のうぬぼれテクなので真似しなくていい

> 精進します
今のままでいいから頑張ってね
977デフォルトの名無しさん
2017/12/21(木) 21:48:19.96ID:giWx2kxQ
>>974
アセンブラガー
って話になるからほどほどにしときなよ
978デフォルトの名無しさん
2017/12/21(木) 21:52:35.91ID:Q/EvmKMe
>>976
いろいろ語るに落ちてるね。
こういう人ってARGBの組み合わせの数だけクラス作るのかなw

処理もデータと同じで変数に代入して柔軟に交換可能であるなんて
発想はCの時代からあるし、高度なテクニックでも何でもないけど、
この程度のことを理解してないから「自称上級者のうぬぼれテク」に見えちゃうんだろうね
979デフォルトの名無しさん
2017/12/21(木) 21:56:22.73ID:HqNyhY75
>>975
そりゃするよ
1変数のクラスは超重要なものだ
オブジェクト指向では絶対に欠かせないツール

1つの文字列変数を持った注文番号クラス
1つの数値変数を持った金額クラス
1つの日付変更を持った出荷予定日クラス

などなど

僕たちがプログラムで扱うものはただの文字列や数値や日付じゃあないんだ
そこをしっかりと認識してほしいね
980デフォルトの名無しさん
2017/12/21(木) 21:56:29.51ID:VaR9+Vl3
char *p;
p = 0;
*p = 0;
981デフォルトの名無しさん
2017/12/21(木) 22:01:14.12ID:h7wsiOnr
>>980
次スレよろ
982デフォルトの名無しさん
2017/12/21(木) 22:01:31.28ID:Mqu0aN7Q
この上っ面だけのの現実とリンクしてない理解
主張をいうだけで論拠もへったくれもない態度

雑談スレで暴れてたやつか
983デフォルトの名無しさん
2017/12/21(木) 22:05:56.61ID:h7wsiOnr
これでいいっぽいな

ふらっと C#,C♯,C#(初心者用) Part134
http://2chb.net/r/tech/1511951038/
984デフォルトの名無しさん
2017/12/21(木) 23:30:24.92ID:oDUVChgl
大学入試程度の数学をよく理解できない人がいるのと同じように
オブジェクト指向を理解できない人ってどうしてもいるわけで
それはしかたがないことなのかもしれないね
985デフォルトの名無しさん
2017/12/21(木) 23:38:52.52ID:HqNyhY75
>>982
現実から目をそらさず複雑性に立ち向かうためにOOPを使う
現実とリンクしてないなのはプリミティブタイプを使う人たちだな
986デフォルトの名無しさん
2017/12/21(木) 23:52:44.06ID:+ZpzqfgR
ワードサラダとあんまり変わらんな
987デフォルトの名無しさん
2017/12/22(金) 00:24:55.67ID:sp7ymsVp
>>978
> こういう人ってARGBの組み合わせの数だけクラス作るのかなw
意味わからん

> この程度のことを理解してないから「自称上級者のうぬぼれテク」に見えちゃうんだろうね
いや、必要もないのにドヤッてるから自称上級者とかバカにされてるだけ w
988デフォルトの名無しさん
2017/12/22(金) 00:30:23.73ID:SpQ4O+yi
>>987
1を聞いて10を知る人間もいれば、0にしかならない君みたいな人もいるわけで。
君はデータと処理はまったく別物だと思い込んでるから「意味わからん」わけ
989デフォルトの名無しさん
2017/12/22(金) 00:37:51.40ID:H1xj7tcO
いや誰が見ても意味不明
990デフォルトの名無しさん
2017/12/22(金) 00:46:44.98ID:mdOvvC+t
何で争ってるのかもわからないし
間に読み飛ばされた人がいたらかわいそうだな
991デフォルトの名無しさん
2017/12/22(金) 01:07:14.36ID:sp7ymsVp
質問者は理解してるっぽいから大丈夫でしょ
一部の自称上級者様が頓珍漢なネタでドヤッてるだけ w
992デフォルトの名無しさん
2017/12/22(金) 01:29:42.45ID:agnD/jLF
>>979
馬鹿みたい
構造も変わってないのに
クラス図を変更しなきゃいけない
お前の組み方は無駄に変更に弱えーんだよ
ただ、それだけじゃん
993デフォルトの名無しさん
2017/12/22(金) 01:33:36.39ID:agnD/jLF
なんかメリットあるのかよと
単にプログラム記述上のお前の勝手な都合だけだろw
994デフォルトの名無しさん
2017/12/22(金) 01:35:03.42ID:YbdIgSB6
classを使うメリットって入出力を共通化する為って意識が強かったんだけど違うのかしら・・・
整理してないところで追加項目を一つ増やしたら他の関係ない場所にも追加項目を処理する機構を作らないといけなくなるみたいな
995デフォルトの名無しさん
2017/12/22(金) 01:38:59.75ID:YbdIgSB6
>>994
入力は追加するけど出力や処理はそのままでも動きますよって変更に対して修正しないと動かなくなるようなのを防ぐ意味合いで考えてた
追加した入力に対してはメソッド新しく作ったりして対応や既存のところに付け足すとか色々やり方はあるだろうけど
996デフォルトの名無しさん
2017/12/22(金) 01:52:53.80ID:SpQ4O+yi
何度も言うけど、要件の詳細が明らかになってないから断定はできないが、
普通費目って聞いたら費目ごとに異なる処理(具体的な価格を計算するメソッド?)
はせいぜい1つ程度だろうと想像する。

たった一つのメソッドの動作を上書きするために派生させるなんて愚の骨頂。
アホかと。ありえない。
そんなのOOPでも多態でも何でもないよ
997デフォルトの名無しさん
2017/12/22(金) 02:30:17.88ID:FmyxrnYE
うめ
998デフォルトの名無しさん
2017/12/22(金) 02:30:29.41ID:FmyxrnYE
うめ
999デフォルトの名無しさん
2017/12/22(金) 02:30:41.94ID:FmyxrnYE
うめ
1000デフォルトの名無しさん
2017/12/22(金) 02:30:49.17ID:FmyxrnYE
うめ
10011001
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 23日 5時間 0分 1秒
10021002
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php

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



lud20250424200627ca
このスレへの固定リンク: http://5chb.net/r/tech/1511872248/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「ふらっと C#,C♯,C#(初心者用) Part134 ->画像>8枚 」を見た人も見ています:
ふらっと C#,C♯,C#(初心者用) Part141
ふらっと C#,C♯,C#(初心者用) Part141
ふらっと C#,C♯,C#(初心者用) Part137
ふらっと C#,C♯,C#(初心者用) Part129
ふらっと C#,C♯,C#(初心者用) Part139
ふらっと C#,C♯,C#(初心者用) Part133
ふらっと C#,C♯,C#(初心者用) Part148
ふらっと C#,C♯,C#(初心者用) Part151
ふらっと C#,C♯,C#(初心者用) Part153
ふらっと C#,C♯,C#(初心者用) Part161
FX初心者スレ Part116
FX初心者スレ Part113
FX初心者スレ Part129
FX初心者スレ Part101
FX初心者スレ Part109
MTB初心者質問スレ part103
クロスバイク初心者質問スレ part14
クロスバイク初心者質問スレ part10000
セキュリティ初心者質問スレッド Part138
遊戯王 初心者・復帰組交流支援スレ Part15
Wonderland Wars 入門者・初心者スレ Part17
Wonderland Wars 入門者・初心者スレ Part13
【TF2】Team Fortress 2 初心者スレ Part100
【PS4】ARK: Survival Evolved 初心者 part102
幻獣契約クリプトラクト 初心者&質問スレ part14
【プロスピ】プロ野球スピリッツA初心者スレ part11
【プロスピ】プロ野球スピリッツA初心者スレ part15
【マギレコ】マギアレコード まったり・初心者・質問スレ Part17
【プリコネ】プリンセスコネクト! Re:Dive初心者・中級者スレ Part124
【プリコネ】プリンセスコネクト! Re:Dive初心者・中級者スレ Part152
KOF15 初心者スレ Part1
MTB初心者質問スレ part129
PT1・PT2初心者質問スレ Part50
PT1/PT2/PT3初心者質問スレ Part57
Arduino初心者熱烈大歓迎質問スレ part14
PC版】APEX LEGENDS初心者スレ Part115
ギター初心者同士で高め合うスレ part14
ギター初心者同士で高め合うスレ part15
【PC版】APEX LEGENDS初心者スレ Part118
【PC版】APEX LEGENDS初心者スレ Part117
◆◆園芸初心者質問スレッド PART101◆◆
初心者質問Part108 親切丁寧!お気軽にどうぞ
◆◆園芸初心者質問スレッド PART106◆◆
遊戯王 初心者・復帰組交流支援スレ Part12
【超ド】120切りを目指すスレpart16【初心者】
【初心者】ダイエットの質問・相談スレPart179
【初心者】ダイエットの質問・相談スレPart187
【若葉】運転初心者のためのスレPart132【黄|緑】
【初心者】ダイエットの質問・相談スレPart186
【初心者】ダイエットの質問・相談スレPart182
【初心者】ダイエットの質問・相談スレPart194
【バトロワ】APEX LEGENDS初心者スレ Part101
ギター初心者同士で語り合い高め合うスレ part16
【PS4】ARK: Survival Evolved 初心者 part110
【プロスピ】プロ野球スピリッツA初心者スレ part187
【プロスピ】プロ野球スピリッツA初心者スレ part180
【プロスピ】プロ野球スピリッツA初心者スレ part190
【プロスピ】プロ野球スピリッツA初心者スレ part198
【プロスピ】プロ野球スピリッツA初心者スレ part176
【プロスピ】プロ野球スピリッツA初心者スレ part182
【プロスピ】プロ野球スピリッツA初心者スレ part178
【プロスピ】プロ野球スピリッツA初心者スレ part162
【プロスピ】プロ野球スピリッツA初心者スレ part175
【新馬】ウマ娘プリティーダービー初心者スレ Part104
02:56:59 up 52 days, 3:55, 0 users, load average: 7.20, 7.65, 8.93

in 2.0420110225677 sec @2.0420110225677@0b7 on 060815