「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part133
http://mevius.5ch.net/test/read.cgi/tech/1510056685/
■関連スレ
C#, C♯, C#相談室 Part95
http://mevius.5ch.net/test/read.cgi/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
ふらっと C#,C♯,C#(初心者用) Part134
レス数が1000を超えています。これ以上書き込みはできません。
2017/11/28(火) 21:30:48.55ID:7U+HR4FY
2017/11/28(火) 21:31:16.08ID:7U+HR4FY
(*゚∀゚)v2get!
2017/11/28(火) 21:33:19.34ID:1gCYrVqG
いちおつ
2017/11/29(水) 12:38:24.28ID:+8Yov6n2
調子にのって式形式の略記しまくったら=>まみれになったでござる
2017/11/29(水) 12:56:15.86ID:Z0yAcQLL
using dispose は便利な機能だが実装の闇が深くて台無し。魔剣ダイナシ。
2017/11/29(水) 12:57:31.62ID:D2tE8Z4y
とVB6おじさんが申しております
7デフォルトの名無しさん
2017/11/29(水) 12:58:28.27ID:VYTpT9vM >>5
で
で
2017/11/29(水) 13:06:25.32ID:VdtxEj+u
SQL鯖へのConnectionもUsingの中に入れちゃっていいのかな?
昔は最初にConnection開いて、ずっと開きっぱなしの中で処理して、最後にCloseすることが多かったけど
不安定な接続(スリープで回線断)やミラーリングサーバーを考慮すると、いちいちOpen/Closeしたほうがいい。
だけど、usingの中に入れることで、いちいちDisposeされたら
接続キャッシュが機能せずに体感速度が落ちる、って風になる?
昔は最初にConnection開いて、ずっと開きっぱなしの中で処理して、最後にCloseすることが多かったけど
不安定な接続(スリープで回線断)やミラーリングサーバーを考慮すると、いちいちOpen/Closeしたほうがいい。
だけど、usingの中に入れることで、いちいちDisposeされたら
接続キャッシュが機能せずに体感速度が落ちる、って風になる?
2017/11/29(水) 13:44:13.05ID:oopkzTyn
接続管理はコネクションプーリングに任せてプログラム上は最短でOpen-Close
10デフォルトの名無しさん
2017/11/29(水) 13:46:22.65ID:VYTpT9vM2017/11/29(水) 13:57:37.88ID:rMr3voC1
>>8
それ別の人がアクセスしても大丈夫なの?
それ別の人がアクセスしても大丈夫なの?
12デフォルトの名無しさん
2017/11/29(水) 14:00:58.53ID:VYTpT9vM >>11
キミ以外なら
キミ以外なら
2017/11/29(水) 15:09:14.71ID:TUoM6+wa
2017/11/29(水) 15:12:27.07ID:TUoM6+wa
>>13
disposeじゃねぇ。usingだわ。まちげーた
disposeじゃねぇ。usingだわ。まちげーた
15デフォルトの名無しさん
2017/11/29(水) 15:37:12.11ID:VYTpT9vM2017/11/29(水) 15:59:59.48ID:TUoM6+wa
>>15
やってることが、using使ったdisposeと等価なんだけど。
usingはtry/finalyの糖衣構文
(sql鯖のコネクションについては)closeとdisposeは等価
何か違いがあんの?
やってることが、using使ったdisposeと等価なんだけど。
usingはtry/finalyの糖衣構文
(sql鯖のコネクションについては)closeとdisposeは等価
何か違いがあんの?
2017/11/29(水) 16:18:48.57ID:VdtxEj+u
var SqlConn = new System.Data.SqlClient.SqlConnection(xxxx);
という感じの宣言は try/finaly の外でやっておいて
open/close は try/finaly の中でやる
って意味で書いたと思ってたけど、そうだよね?
という感じの宣言は try/finaly の外でやっておいて
open/close は try/finaly の中でやる
って意味で書いたと思ってたけど、そうだよね?
18デフォルトの名無しさん
2017/11/29(水) 16:32:53.30ID:VYTpT9vM2017/11/29(水) 16:35:00.95ID:6MTOjDOv
インターフェースおじさんの話は聞かなくていい
20デフォルトの名無しさん
2017/11/29(水) 16:42:07.66ID:VYTpT9vM2017/11/29(水) 16:58:19.20ID:oopkzTyn
SqlConnectionメソッドってのはちょっと分からなかったけど
SqlConnection.Closeにはこう書かれてるな
> SqlConnection は、適用範囲外では閉じられません。
> そのため、Close または Dispose を呼び出して、明示的に接続を閉じる必要があります。
> Close と Dispose は、機能的に同じです。
DisposeはComponent.Disposeに飛ばされたから
そもそもSqlConnection.Disposeのページが存在しない
SqlConnection.Closeにはこう書かれてるな
> SqlConnection は、適用範囲外では閉じられません。
> そのため、Close または Dispose を呼び出して、明示的に接続を閉じる必要があります。
> Close と Dispose は、機能的に同じです。
DisposeはComponent.Disposeに飛ばされたから
そもそもSqlConnection.Disposeのページが存在しない
2017/11/29(水) 17:08:15.43ID:TUoM6+wa
2017/11/29(水) 17:14:21.18ID:rMr3voC1
アプリは生きててDBだけリセットかけたらもう一回接続しないと駄目?
なんかアクセス毎に開いて閉じて入れておかないと面倒な感じじゃね?
なんかアクセス毎に開いて閉じて入れておかないと面倒な感じじゃね?
2017/11/29(水) 17:26:22.28ID:+8Yov6n2
最近はMicrosoftDocsに飛ばされるね、MSDNもあるけど英語がメイン
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/using-statement
ついこないだIDisposable実装したけど、これまたクイックアクションで親切すぎるコメントつきテンプレが流し込まれる
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/using-statement
ついこないだIDisposable実装したけど、これまたクイックアクションで親切すぎるコメントつきテンプレが流し込まれる
25デフォルトの名無しさん
2017/11/29(水) 17:58:34.09ID:Ypog5BGe iPhoneのキーボードのこれhttps://i.imgur.com/PStMLdz.jpgはプログラム書くときのダブルクォーテーションとは違うんだな。ideoneでなぜかエラーが出たので気づいた。
https://i.imgur.com/wyCNyNM.jpgこれだと使える。
英字キーボードのやつ “””””””””””
ABCのほう """""""""""
https://i.imgur.com/wyCNyNM.jpgこれだと使える。
英字キーボードのやつ “””””””””””
ABCのほう """""""""""
26デフォルトの名無しさん
2017/11/29(水) 18:05:53.37ID:Ypog5BGe 長押ししたらこんなん出てきたわ
https://i.imgur.com/TpvDvkf.jpg
https://i.imgur.com/TpvDvkf.jpg
2017/11/29(水) 18:05:59.40ID:gShtlFNM
>>20
間違いは認めてから逃げようね
間違いは認めてから逃げようね
2017/11/29(水) 18:10:42.78ID:AGN3a9rD
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:bodUKsOx34デフォルトの名無しさん
2017/11/29(水) 21:01:58.77ID:MDGjrLn/2017/11/29(水) 21:17:10.66ID:W1Zobeto
いやmalloc的なのは普通の配列のnewかMarshal.AllocHGlobalだろ
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等々、悩んでいます
身近に現役プログラマーの方がいないためいろいろと聞けないのが現状です。
なんでも指摘してくださると助かります。
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等々、悩んでいます
2017/11/29(水) 21:57:07.61ID:4/Kw2onf
自分だったら
public class DeleteFilesResult
{
public string ErrorMessage { get; set; }
public bool Success { get; set; }
}
みたいなクラス作ってそれを結果として返すかな
public class DeleteFilesResult
{
public string ErrorMessage { get; set; }
public bool Success { get; set; }
}
みたいなクラス作ってそれを結果として返すかな
38デフォルトの名無しさん
2017/11/29(水) 21:59:38.11ID:bodUKsOx マジでぇ??
2017/11/29(水) 22:03:52.52ID:3MYeHM6X
>>36
エラーならエラー文字列返して、正常なら空文字かnull返すのが素直じゃないかな?
エラーならエラー文字列返して、正常なら空文字かnull返すのが素直じゃないかな?
40デフォルトの名無しさん
2017/11/29(水) 22:10:55.88ID:KZMpS2G2 successならsucceededとかじゃないの
もしくは構造体なりで
if (result == RESULT.OK)
とか
もしくは構造体なりで
if (result == RESULT.OK)
とか
2017/11/29(水) 22:14:46.71ID:fgyKG67K
さっそくでたな
try catchはDeleteFilesメソッドの中じゃなくて
外で使うべき
try catchはDeleteFilesメソッドの中じゃなくて
外で使うべき
2017/11/29(水) 22:31:52.96ID:NSRWkE4O
>>36
静的メンバーにエラー情報を持たせるのは時代錯誤で論外。
エラー情報は普通に例外を投げようよ。
単に失敗成功が分かってエラーメッセージが取得できればよいだけなら、
エラーメッセージはoutな引数で戻せばいい
あと、一つのファイルの削除に失敗した時点で処理中断する仕様でいいの?
失敗しても継続する方が自然なような気もするけど...
DeleteFilesより明示的にDeleteAllFiilesの方がいいんじゃないか?
GetNumberOfTotalConvertingは長すぎ
それを含むクラスに適切な名前がついてればそんな冗長な名前にする必要ないでしょ
静的メンバーにエラー情報を持たせるのは時代錯誤で論外。
エラー情報は普通に例外を投げようよ。
単に失敗成功が分かってエラーメッセージが取得できればよいだけなら、
エラーメッセージはoutな引数で戻せばいい
あと、一つのファイルの削除に失敗した時点で処理中断する仕様でいいの?
失敗しても継続する方が自然なような気もするけど...
DeleteFilesより明示的にDeleteAllFiilesの方がいいんじゃないか?
GetNumberOfTotalConvertingは長すぎ
それを含むクラスに適切な名前がついてればそんな冗長な名前にする必要ないでしょ
2017/11/29(水) 22:32:46.18ID:JM2ObBa0
2017/11/29(水) 22:33:52.93ID:fgyKG67K
DeleteFiles内部でtry catch受けていいのは
そのファイルをスキップして残りを消す場合など
そのファイルをスキップして残りを消す場合など
2017/11/29(水) 22:34:19.89ID:fgyKG67K
>>43
人違いだわw
人違いだわw
2017/11/29(水) 22:38:45.34ID:fgyKG67K
例外が飛んでそれをもとに制御が変わるなら
適切なtry catchの場所を考えるべき
適切なtry catchの場所を考えるべき
2017/11/29(水) 22:42:39.35ID:NSRWkE4O
あと、例外についてはとにかく何でもキャッチしたがる人と、
それに対するアンチテーゼで「例外は絶対キャッチするな」と主張する人がいるけど、
どっちも何か盛大に勘違いしてる極論だから眉唾で聞いた方がいいと思う
それに対するアンチテーゼで「例外は絶対キャッチするな」と主張する人がいるけど、
どっちも何か盛大に勘違いしてる極論だから眉唾で聞いた方がいいと思う
2017/11/29(水) 22:45:33.13ID:fgyKG67K
そうだね
例外利用するならFile.Deleteのページを見て
どんな例外をスローするか調べたほうがいい
権限無くて削除できないとかあるから
例外利用するならFile.Deleteのページを見て
どんな例外をスローするか調べたほうがいい
権限無くて削除できないとかあるから
2017/11/29(水) 22:48:25.13ID:rMr3voC1
・ω・Exception
2017/11/29(水) 22:54:19.77ID:+8Yov6n2
頻繁な例外を想定するならロギングで出力した方がいいよ
エラーを毎回表示なんて非現実的だし無視してOK連打したら意味ないでしょ
それよりタイムスタンプつけてテキストファイルに保存した方が後から照会できる
問い合わせの多くは、何もしてないのに突然おかしくなった、というやつばかり
そういう時はログフォルダをzipで圧縮して添付してもらおうというわけ
エラーを毎回表示なんて非現実的だし無視してOK連打したら意味ないでしょ
それよりタイムスタンプつけてテキストファイルに保存した方が後から照会できる
問い合わせの多くは、何もしてないのに突然おかしくなった、というやつばかり
そういう時はログフォルダをzipで圧縮して添付してもらおうというわけ
2017/11/29(水) 22:57:51.57ID:fgyKG67K
状況が許すならDirectory.Delete (string path , bool recursive)を使いたい
2017/11/29(水) 23:02:36.65ID:JM2ObBa0
>>45
人違いなのに丁寧にレスありがとww
人違いなのに丁寧にレスありがとww
2017/11/29(水) 23:02:52.52ID:JGmUTbhc
2017/11/29(水) 23:03:14.96ID:fgyKG67K
そのフォルダが相手のミスでリードオンリーにされた場合は例外情報が全部死ぬけどな
2017/11/29(水) 23:12:59.73ID:GyXUhAN/
>>36です
こんなにレスがつくとは思いませんでした。みなさんありがとうございます。
@結果を格納するクラスを作成し、それを返し、参照する
Aエラー文字列を返す
B例外を投げるかoutな引数で戻す
どれもそういった発想が無かったので勉強になります。
ちなみにoutを使う場合はtupleを使って2つ返すのもありですか?
>静的メンバーにエラー情報を持たせるのは時代錯誤で論外。
こういう風に指摘されるともっともっと勉強しようと励みになります。ありがとうございます。
>あと、一つのファイルの削除に失敗した時点で処理中断する仕様でいいの?
>失敗しても継続する方が自然なような気もするけど...
たしかに処理の中断をするまでもないですね
例外処理についてはメソッドを呼ぶたびにtry catchを書くのが冗長という理由だけで中にいれてました。
制御が変わるかなど考慮すべきでした
optionalや>もしくは構造体なりでif (result == RESULT.OK)
などまだまだ理解できない部分が多いので調べてきます
こんなにレスがつくとは思いませんでした。みなさんありがとうございます。
@結果を格納するクラスを作成し、それを返し、参照する
Aエラー文字列を返す
B例外を投げるかoutな引数で戻す
どれもそういった発想が無かったので勉強になります。
ちなみにoutを使う場合はtupleを使って2つ返すのもありですか?
>静的メンバーにエラー情報を持たせるのは時代錯誤で論外。
こういう風に指摘されるともっともっと勉強しようと励みになります。ありがとうございます。
>あと、一つのファイルの削除に失敗した時点で処理中断する仕様でいいの?
>失敗しても継続する方が自然なような気もするけど...
たしかに処理の中断をするまでもないですね
例外処理についてはメソッドを呼ぶたびにtry catchを書くのが冗長という理由だけで中にいれてました。
制御が変わるかなど考慮すべきでした
optionalや>もしくは構造体なりでif (result == RESULT.OK)
などまだまだ理解できない部分が多いので調べてきます
2017/11/29(水) 23:21:16.55ID:GyXUhAN/
>>50
予期せぬ例外は
https://qiita.com/exliko/items/42715a0c9fd7519eb6d9
このような感じでログファイルに出力するようにしていたのですが、
たしかにエラー毎回表示も微妙なので、もっとログをとっていくようにしていきます
予期せぬ例外は
https://qiita.com/exliko/items/42715a0c9fd7519eb6d9
このような感じでログファイルに出力するようにしていたのですが、
たしかにエラー毎回表示も微妙なので、もっとログをとっていくようにしていきます
2017/11/29(水) 23:30:30.87ID:GyXUhAN/
2017/11/29(水) 23:36:03.91ID:pRhcAUD9
Directory.GetFilesはファイルを全部探してから配列でそれを返すので色々と無駄
列挙するだけならDirectory.EnumerateFiles
列挙するだけならDirectory.EnumerateFiles
2017/11/29(水) 23:48:45.63ID:GyXUhAN/
>>58
直しました。ありがとうございます。
直しました。ありがとうございます。
2017/11/30(木) 00:47:19.32ID:HGFQxRVI
教えてもらったことにお礼を言うのはいいとして変える必要があったのだろうか
2017/11/30(木) 00:53:26.33ID:3e4JD2ht
2017/11/30(木) 02:34:13.97ID:XJSgowiz
>>57
基本的に例外を避けたい理由がなければ例外を使えば良い
ロギングしてアプリを終了するならExceptionでcatch
復帰可能のは個別に対処(ディレクトリが見つからない場合は再入力を求めるなど)
基本的に例外を避けたい理由がなければ例外を使えば良い
ロギングしてアプリを終了するならExceptionでcatch
復帰可能のは個別に対処(ディレクトリが見つからない場合は再入力を求めるなど)
2017/11/30(木) 08:10:34.13ID:fzw2ErB1
2017/11/30(木) 09:21:54.56ID:BGl9IyNc
Tupleってエラーの場合何を返すの?
65デフォルトの名無しさん
2017/11/30(木) 09:22:06.99ID:y7Hhz8p2 トプル
2017/11/30(木) 09:40:45.12ID:BGl9IyNc
bool ok,int unkor,int unkog,int unkob
var unkc = GetUnkoColor();
if(unkc.ok){
成功
}else{
失敗
}
みたいな?
var unkc = GetUnkoColor();
if(unkc.ok){
成功
}else{
失敗
}
みたいな?
2017/11/30(木) 09:41:02.83ID:kZZqjgS1
Exception
68デフォルトの名無しさん
2017/11/30(木) 09:47:18.95ID:saSKapUF また、Exceptionが不遇な扱いを受けている
哀れすぎて何も言えねえ
哀れすぎて何も言えねえ
2017/11/30(木) 09:48:16.44ID:BGl9IyNc
また、大して考えず産廃を作った予感
言語開発者暇なのか?
Getしようとしたけど要素がないときもあるじゃん
全部例外で飛ばされるとかマジやめて
言語開発者暇なのか?
Getしようとしたけど要素がないときもあるじゃん
全部例外で飛ばされるとかマジやめて
70デフォルトの名無しさん
2017/11/30(木) 09:59:17.09ID:saSKapUF 釈尊はnullは「無」であると説かれた
ナムー
ナムー
2017/11/30(木) 11:21:23.77ID:ptf/uzH7
例外が邪魔とかoutイラナイわめいてるのは大抵Dictonaryでしょ
連想配列は銀の弾丸ではない、期待しすぎ
連想配列は銀の弾丸ではない、期待しすぎ
2017/11/30(木) 11:29:17.22ID:tR5Ha3BP
2017/11/30(木) 11:31:00.67ID:zWPBp6sP
>>66
タプル知らないの?
タプル知らないの?
2017/11/30(木) 11:53:07.37ID:ZqSZg82x
>>73
nullっぽく使えるのある?
nullっぽく使えるのある?
2017/11/30(木) 12:25:17.12ID:EK0LYHwo
今はout引数で変数宣言できるようになったからかなりスマートになった
むしろタプルの必要性が疑問なくらい
TryGetXならnull問題もないし
むしろタプルの必要性が疑問なくらい
TryGetXならnull問題もないし
76デフォルトの名無しさん
2017/11/30(木) 12:26:38.17ID:rx1MFcR/ 何が返されるか分かりにくいじゃん
タプルで返して分割代入すればいい
タプルで返して分割代入すればいい
2017/11/30(木) 12:29:50.89ID:FnXA8j5a
タプルだったらわかりやすくなる例が思いつかんが
78デフォルトの名無しさん
2017/11/30(木) 12:34:03.03ID:rx1MFcR/ そもそもタプルいらん
2017/11/30(木) 12:47:20.27ID:h6W3uA8y
>>78
訳:新しいことを覚える気力がない
訳:新しいことを覚える気力がない
2017/11/30(木) 12:51:45.93ID:Puu3loId
2017/11/30(木) 12:52:07.78ID:1mMbqqg+
分散どうやって出すの?
82デフォルトの名無しさん
2017/11/30(木) 12:54:30.58ID:rx1MFcR/2017/11/30(木) 12:56:35.10ID:SRRUekt+
MS的にはXOrDefaultじゃないの
84デフォルトの名無しさん
2017/11/30(木) 13:04:29.34ID:rx1MFcR/ >>79
.NETライブラリでも使われてないしな
.NETライブラリでも使われてないしな
2017/11/30(木) 13:15:30.72ID:RhI3AKYT
outって呼び出す時に一々変数を定義しなきゃいけないのが面倒
Tupleは戻り値が分かりづらいって欠点がある
どちらも一長一短だから好きな方を使えばいい
.NETライブラリが使ってないから使わないって思考停止すぎんだろ
Tupleは戻り値が分かりづらいって欠点がある
どちらも一長一短だから好きな方を使えばいい
.NETライブラリが使ってないから使わないって思考停止すぎんだろ
86デフォルトの名無しさん
2017/11/30(木) 13:19:26.22ID:rx1MFcR/ 公認じゃない感あるし.NETの関数とマッチしないからな
2017/11/30(木) 13:21:37.72ID:FnXA8j5a
クラス作ろうぜ
88デフォルトの名無しさん
2017/11/30(木) 13:26:10.35ID:rx1MFcR/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
https://ideone.com/0fyIQN
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はガンマ?が高目に設定されるようで、余計眩しく感じたりします
具体的には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
https://software.intel.com/en-us/forums/developing-games-and-graphics-on-intel/topic/607388
2017/11/30(木) 18:39:49.21ID:yjKo9V4L
2017/11/30(木) 18:42:54.90ID:FnXA8j5a
実装のアドバイスもできないけどね
100デフォルトの名無しさん
2017/11/30(木) 19:06:36.32ID:YyeHHjlB 画面関係ってOSのAPIレベルで標準化されてるのかな。
Win10だとそれっぽい機能がついてるから存在するのかもしれんが、それ以前のOSには存在しない気が
そもそも、昔よくあったOOPの責務の仕分け問題じゃないけど、画面の調整機能って
本来はモニター側が担当すべき機能でPC側でやるのはいかにも筋悪だよねw
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:yjKo9V4L105デフォルトの名無しさん
2017/11/30(木) 21:15:26.66ID:ZsTPl3HQ106デフォルトの名無しさん
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みたいなもの
変数:割り当てられたメモリー上の特定のアドレス範囲
値:変数の中身(変数に割り当てられたメモリーの範囲のバイト列)
参照:変数に割り当てられたメモリーの範囲の開始アドレス
まあ、値がwebページのコンテンツなら参照はそのURIみたいなもの
113デフォルトの名無しさん
2017/12/01(金) 00:04:00.62ID:euIX7D1U114デフォルトの名無しさん
2017/12/01(金) 00:20:18.07ID:g1uYteJH115デフォルトの名無しさん
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はパフォーマンス向上のために採用するだろ
ライブラリってのが何を指してるのかしらんが、CLRはパフォーマンス向上のために採用するだろ
118デフォルトの名無しさん
2017/12/01(金) 09:54:03.08ID:2xCFHlEB なんの思想もなくただ思い付いた機能追加してんな
次世代の課題はどう考えてもコードの自動生成だからな
もうc#にそれを受け切るキャパはないと結論出してくだらん機能追加してんのかな?
この設計を実現するためのこの機能ってのがないよな
次世代の課題はどう考えてもコードの自動生成だからな
もうc#にそれを受け切るキャパはないと結論出してくだらん機能追加してんのかな?
この設計を実現するためのこの機能ってのがないよな
119デフォルトの名無しさん
2017/12/01(金) 09:57:33.53ID:ey3QBHng 馬鹿は要らん心配しなくていいぞw
120デフォルトの名無しさん
2017/12/01(金) 10:17:38.98ID:iOkVpy7f >>119
ごもっともだがmsの言語拡張にいったい何パーセントのc#プログラマーがついて行けてるんだろ?
ごもっともだがmsの言語拡張にいったい何パーセントのc#プログラマーがついて行けてるんだろ?
121デフォルトの名無しさん
2017/12/01(金) 10:18:45.36ID:WDfZGQOx 無駄にごちゃごちゃするだけ
要らんやろ
要らんやろ
122デフォルトの名無しさん
2017/12/01(金) 10:34:20.88ID:THofu70g123デフォルトの名無しさん
2017/12/01(金) 10:37:55.11ID:tm4OIa2O 値型参照関連の新機能はパフォーマンス向上のために追加されるから
使わん奴は一生使わんだろうな
使わん奴は一生使わんだろうな
124デフォルトの名無しさん
2017/12/01(金) 11:15:01.09ID:iOkVpy7f125デフォルトの名無しさん
2017/12/01(金) 11:19:59.25ID:KuFa7ekd 馬鹿と一緒に仕事しなければOK
馬鹿に仕事を発注しなければOK
そうもいかないって?馬鹿は大変だなw
馬鹿に仕事を発注しなければ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みたいに何でも取り入れてごちゃごちゃにならなければいいけど
本当の意味で新しい機能はしばらく追加されないだろう
rubyみたいに何でも取り入れてごちゃごちゃにならなければいいけど
本当の意味で新しい機能はしばらく追加されないだろう
129デフォルトの名無しさん
2017/12/01(金) 12:30:03.27ID:ZeZypetk >>128
それって簡単に言えばなんの思想もないから他言語パクって見ますって話でしょw
それって簡単に言えばなんの思想もないから他言語パクって見ますって話でしょw
130デフォルトの名無しさん
2017/12/01(金) 12:33:48.54ID:TMbg8N17131デフォルトの名無しさん
2017/12/01(金) 12:42:25.56ID:WDfZGQOx プログラマとして大事なのはコミュ力だから
132デフォルトの名無しさん
2017/12/01(金) 12:52:31.16ID:Y1F3euov 技術力があれば不要なコミュニケーションを大幅ぬ削減できるという事実から目をそらさないで
133デフォルトの名無しさん
2017/12/01(金) 12:53:48.42ID:iOkVpy7f それはない
134デフォルトの名無しさん
2017/12/01(金) 13:05:58.75ID:OnhdkLQO そりゃC#にはVisualStudioとRoslynという超強力な助っ人がいるからね
さらにReSharper買えばリファクタリングも楽々
さらにReSharper買えばリファクタリングも楽々
135デフォルトの名無しさん
2017/12/01(金) 13:10:05.18ID:THofu70g >>128
まあ8だろうね
まあ8だろうね
136デフォルトの名無しさん
2017/12/01(金) 21:14:22.99ID:IpWMomyL outって使った記憶無いなぁってプログラム書いてたらTryParseで普通に使ってた
137デフォルトの名無しさん
2017/12/02(土) 00:32:48.74ID:8Fsyuzgi138デフォルトの名無しさん
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メソッドはないのですが、なぜこのような記述になっているのでしょうか?
{
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のバージョンじゃん?
.netのバージョンじゃん?
143デフォルトの名無しさん
2017/12/02(土) 09:20:05.04ID:y4HB0lRC >>140
多分元々はBufferメソッドは拡張メソッドとして定義されてたものだと思う。配列型のメンバに無くてもあとから追加したように見せるやつ。
多分元々はBufferメソッドは拡張メソッドとして定義されてたものだと思う。配列型のメンバに無くてもあとから追加したように見せるやつ。
144デフォルトの名無しさん
2017/12/02(土) 10:41:07.35ID:kxO6m70V >>140
Rxじゃね
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
知らないのでググってみました。色々できそうなので調べてみます。
>>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じゃん
ググると微妙に出てくる
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:suCQ4i95150デフォルトの名無しさん
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に対してどのようにすれば取得したい箇所が得られるのでしょうか?
<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(); //文字列を取得
}
var elm=doc.QuerySelector(“div.aaa span#idxxx”);
var text=elm.TextContent.Trim(); //文字列を取得
152デフォルトの名無しさん
2017/12/04(月) 23:20:48.64ID:2ttKv46c >>151
#idxxx だけでよくね?
#idxxx だけでよくね?
153デフォルトの名無しさん
2017/12/05(火) 00:13:40.14ID:bv7GN3wK id よりも先祖の階層は、指定する必要がない
最も子孫の、id 以降を指定するだけでよい
最も子孫の、id 以降を指定するだけでよい
154デフォルトの名無しさん
2017/12/05(火) 00:37:34.79ID:me3XgAZI155デフォルトの名無しさん
2017/12/05(火) 05:15:33.65ID:cXtd7Bhl あるtextBox1と表示内容が同じtextBox2を作りたいのですが
textBox1.Text="hoge";
textBox2.Text="hoge";
と記述するのではなくて
visualstudioのデザイナーでコピーするだけで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;
こんな感じで毎回両方に代入すればいい。
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:92ldxPu3168デフォルトの名無しさん
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 するのと、
実行速度とかの面で、どちらがよいでしょうか。
自作クラスを作って
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票
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は余程のことが無い限り使っちゃダメ
DictionaryのAddはO(1)、RemoveはほぼO(1)
なのでキーがユニークになるならDictionaryを使えばOK
あとDataTableは余程のことが無い限り使っちゃダメ
173デフォルトの名無しさん
2017/12/05(火) 18:38:38.70ID:xkHn8EO8174デフォルトの名無しさん
2017/12/05(火) 18:39:45.00ID:BG6o1pBu DataTable はダメなんですか?
別件ですが、日時を有する情報で、ある特定の期間の直近のデータを特定したい場合があり、
Selectを使いたいのでDataTableを使った経験があるのですが、よくなかったですか?
別件ですが、日時を有する情報で、ある特定の期間の直近のデータを特定したい場合があり、
Selectを使いたいのでDataTableを使った経験があるのですが、よくなかったですか?
175デフォルトの名無しさん
2017/12/05(火) 18:41:02.99ID:BG6o1pBu >>173
保存はしません。あくまでも内部の情報としての利用です。
保存はしません。あくまでも内部の情報としての利用です。
176デフォルトの名無しさん
2017/12/05(火) 18:43:51.03ID:xkHn8EO8 DataTableは土方臭いから、やり方に拘るタイプの人は嫌ってることが多い
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 倍早くなっています。
略
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+f180デフォルトの名無しさん
2017/12/05(火) 19:13:14.27ID:BG6o1pBu 皆さん、ありがとうございます。
速度も速いしクソにはなりたくないので、今回の案件ではlistを使う方向で進めることにします。
先ほど書いたとおり、以前DateTime型の絞込みでSelectが便利だと思いDataTableを使ったことがあります。
この場合も、listで、自力でソードや比較を実装した方が良かったのでしょうか?
まぁ速度の兼ね合いかとは思うのですが、皆様ならどうしますか。
速度も速いしクソにはなりたくないので、今回の案件では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も切捨てようとしたがクレーマーの圧力に負けてしぶしぶサポートすることになった
Microsoftも切捨てようとしたがクレーマーの圧力に負けてしぶしぶサポートすることになった
183デフォルトの名無しさん
2017/12/05(火) 19:19:50.77ID:rIDRW6+f184デフォルトの名無しさん
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指定する方が使い勝手がよさそう
設計書とか作って主キーやユニークキーにあたるデータを明示的にしてんならそれでいいけど大抵はIEqualityComparer指定する方が使い勝手がよさそう
187デフォルトの名無しさん
2017/12/05(火) 20:22:49.22ID:PhhOBNeX188デフォルトの名無しさん
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:Y6zaPgMb192デフォルトの名無しさん
2017/12/06(水) 15:27:39.07ID:nfsVfh5P Webフォームを作っています。
サーバ上の特定のフォルダに、とあるファイルが不定期に生成されます。
それを監視してWebフォームに表示したいのですが、FileSystemWatherのようなコントロールはないでしょうか?
ない場合、Timerで回すしかない考え付かないのですが、通常Webフォームで1秒間隔程度なら許容されるインターバルでしょうか?
サーバ上の特定のフォルダに、とあるファイルが不定期に生成されます。
それを監視してWebフォームに表示したいのですが、FileSystemWatherのようなコントロールはないでしょうか?
ない場合、Timerで回すしかない考え付かないのですが、通常Webフォームで1秒間隔程度なら許容されるインターバルでしょうか?
193デフォルトの名無しさん
2017/12/06(水) 15:39:57.42ID:A61Dczsv >>192
無いと言うか、あったところでその状況をサーバに取りに行かないとどうにもならん。
ユースケースによるかと。
コネクション数を気にしないなら、ファイルが生成されるまでタイムアウトしないAPI作って、ajaxで呼ぶのが一番機敏に動くと思う。
一秒間隔でリクエストはちょっと多いんじゃないかな。生成されてない画面を10人が10分開いたままにしたら、それだけで6000行もログが埋まってしまう気がする。
無いと言うか、あったところでその状況をサーバに取りに行かないとどうにもならん。
ユースケースによるかと。
コネクション数を気にしないなら、ファイルが生成されるまでタイムアウトしない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
同じくもう少しヒントを!どんな感じの実装ですか?
言葉足らずですみません。
IISが動いているサーバにデータのファイルが不定期に生成されます。
それをWeb画面で様子をみたいという要望です。
動いてる様子が分かればいいのですが、ファイルがまとまって生成される事があるため、
ある程度短いインターバルにしたいとは思ってたのですが。
ローカルアプリも考えたのですが、その場合、複数のPCがサーバのファイルを覗きに行く事になるので、それはそれで嫌かなと思いまして。
> ファイルが生成されるまでタイムアウトしないAPI作って、ajaxで呼ぶ
もう少し教えてもらえないでしょうか。
APIって具体的に何で作ったどんな形式のものですか?
調べるヒントをください。
>>194
同じくもう少しヒントを!どんな感じの実装ですか?
196デフォルトの名無しさん
2017/12/06(水) 16:07:24.35ID:sywZU+Dz197デフォルトの名無しさん
2017/12/06(水) 16:32:05.88ID:0RCrbv9w >>195
SignalR
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のアプリ画面だけをネット越しに共有する感じです。
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:zMhQDjeD202デフォルトの名無しさん
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知らんの?
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リクエスト処理だって、リクエストを受け付けてからレスポンスを返すまで、
君の言葉で言えばクライアントを管理してるだろ
そのレスポンスを返すまでの時間が長いだけだよ
それが何か?
普通の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のリクエスト数に比べると屁みたいなもんだろな。
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:9Cl2Q0EY221デフォルトの名無しさん
2017/12/06(水) 22:43:23.56ID:JrOz0Sq/ >>218
タスクトレイ常駐型のデスクトップアプリでも作った方が使いやすいだろうな。
タスクトレイ常駐型のデスクトップアプリでも作った方が使いやすいだろうな。
222デフォルトの名無しさん
2017/12/06(水) 23:56:51.95ID:5T1FsMv1 サーバー側はFileSystemWatcher(だったっけ?)でフォルダ監視してなんかあったらテキストファイルでもDBでも適当な保管場所に情報を保存するサービスと
その保存場所から自動更新でひたすら情報を読み取るWeb画面作ればよくね?
自分ならそうするわ
ボリューム的に半日仕事で終わるし
その保存場所から自動更新でひたすら情報を読み取るWeb画面作ればよくね?
自分ならそうするわ
ボリューム的に半日仕事で終わるし
223デフォルトの名無しさん
2017/12/07(木) 01:41:57.78ID:h6BVmLyc 1秒じゃなくて4秒にしよう
224デフォルトの名無しさん
2017/12/07(木) 07:03:53.69ID:e1xCIudC 他のアプリにキーボードのコマンドを送りたいのですが、どの様な方法があるでしょうか?
sendinputなど調べてみたのですが例が少なく今一理解出来ませんでした
sendinputなど調べてみたのですが例が少なく今一理解出来ませんでした
225デフォルトの名無しさん
2017/12/07(木) 07:58:46.72ID:h6BVmLyc プロセス間通信
226デフォルトの名無しさん
2017/12/07(木) 08:07:25.81ID:QlnDuWpW >>222
> その保存場所から自動更新でひたすら情報を読み取るWeb画面作ればよくね?
だからそれやるとクライアントが多い時にサーバーがパンクするからSignalRとかでサーバーから通知するって話
まあサーバーから通知って言うけど仕組み的にはイベント発生までレスポンスを返さないって言うだけのことなんだけどな
> その保存場所から自動更新でひたすら情報を読み取るWeb画面作ればよくね?
だからそれやるとクライアントが多い時にサーバーがパンクするからSignalRとかでサーバーから通知するって話
まあサーバーから通知って言うけど仕組み的にはイベント発生までレスポンスを返さないって言うだけのことなんだけどな
227デフォルトの名無しさん
2017/12/07(木) 08:16:20.37ID:1QpgLYuZ なつかしのSendMessageとか
228デフォルトの名無しさん
2017/12/07(木) 08:27:43.21ID:teoFHcQT229デフォルトの名無しさん
2017/12/07(木) 08:50:35.95ID:afn7IHoQ .netの場合クラスないでFontオブジェクトを生成した場合にはクラスを解放した場合は
Fontオブジェクトは解放されるの? Disposeすべきかどうかはどうやって調べたら
いいのだ?
Fontオブジェクトは解放されるの? Disposeすべきかどうかはどうやって調べたら
いいのだ?
230デフォルトの名無しさん
2017/12/07(木) 10:06:11.39ID:lA04OzcH231デフォルトの名無しさん
2017/12/07(木) 10:31:29.62ID:vYoZ1cCC232デフォルトの名無しさん
2017/12/07(木) 10:32:55.56ID:vYoZ1cCC 質問の答えになってなかった
233デフォルトの名無しさん
2017/12/07(木) 10:43:44.03ID:teoFHcQT >>229
IDisposable実装してないクラスは放置で良いと思ってる。
IDisposable実装してないクラスは放置で良いと思ってる。
234デフォルトの名無しさん
2017/12/07(木) 10:56:49.03ID:ODzGS5Kr FontをDisposeするコードは見たことも発想も無かったな
newで作ったら全部Disposeする発想なのか
newで作ったら全部Disposeする発想なのか
235デフォルトの名無しさん
2017/12/07(木) 10:58:19.97ID:vYoZ1cCC Font, Pen, Brushはサイズ重いしな
236デフォルトの名無しさん
2017/12/07(木) 11:44:12.26ID:Rln0TdUu237デフォルトの名無しさん
2017/12/07(木) 12:54:28.08ID:QlnDuWpW238デフォルトの名無しさん
2017/12/07(木) 13:02:41.60ID:lA04OzcH239デフォルトの名無しさん
2017/12/07(木) 13:07:11.00ID:lA04OzcH そうでなくてもSignalRなんているかよ
サービスでtcpポートlistenしてイベント発生する都度情報を垂れ流す古き良きソケット間通信で十分だろw
サービスでtcpポートlistenしてイベント発生する都度情報を垂れ流す古き良きソケット間通信で十分だろw
240デフォルトの名無しさん
2017/12/07(木) 13:09:35.59ID:teoFHcQT 日本語で
241デフォルトの名無しさん
2017/12/07(木) 13:22:15.77ID:2pT1zkKO >>239
ブ ブラウザ画面の話してるから要するにWebSocketってこと?
ブ ブラウザ画面の話してるから要するにWebSocketってこと?
242デフォルトの名無しさん
2017/12/07(木) 13:29:39.70ID:lA04OzcH243デフォルトの名無しさん
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:CONsZMOl249デフォルトの名無しさん
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”ってやつで変換しろってことであってるのかな?
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#スレです
ここはc#スレです
251デフォルトの名無しさん
2017/12/07(木) 17:32:36.95ID:2pT1zkKO >>249
はいそうです。
はいそうです。
252デフォルトの名無しさん
2017/12/07(木) 18:14:35.54ID:+Wu2cJH/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
バックグラウンドとは?
特定のアプリに対してのみ送信なら無理
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を使えば化けないかも。
バックグランドってタスクトレイ常駐アプリにしたいって事?
NotifyIcon使えば出来るけど。
バックグランドがWindowsサービスって意味なら無理かな。
.NETのSendKeysは、半角カナや&は化ける。
WSHのSendKeysを使えば化けないかも。
255デフォルトの名無しさん
2017/12/07(木) 20:32:51.80ID:QlnDuWpW256デフォルトの名無しさん
2017/12/07(木) 20:48:22.81ID:p8nuhjj6 >>238が言ってるのは、クライアントがサーバーに対してXHRでも使って1秒ごとにポーリングすればいいということだと思うぞ
リクエストのたびにサーバー側でも毎回ファイルシステム舐めてファイル一覧作ってたら遅いだろうけど、
サーバー側ではFileSystemWatcherなり定期的なポーリングなりで非同期でファイル一覧のキャッシュを更新していけば、
クライアントが頻繁にリクエストしてきてもまず問題にはならない
リクエストのたびにサーバー側でも毎回ファイルシステム舐めてファイル一覧作ってたら遅いだろうけど、
サーバー側では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だろうね
そこを非同期で分離するのはまず常識的な大前提であって、
ABそれぞれをどう最適化するかはそれほど重要ではない
とりあえず実装が手っ取り早いのはABとも定期的に更新することだし、
効率と即時性を追求するならAはFileSystemWatcherでBはロングポーリングorWebSocketだろうね
260デフォルトの名無しさん
2017/12/07(木) 21:09:53.55ID:G7lyLovK261デフォルトの名無しさん
2017/12/07(木) 21:12:08.87ID:qnTgxbKH 質問主はWebアプリに拘ってるわけじゃないけど
沢山のクライアントPCからWebサーバのフォルダを共有したくないからWebアプリが良いかな程度に思ってるだけだろ。
Webサーバ上に監視サービス作るのならWebアプリに拘る必要は無いし。
沢山のクライアントPCからWebサーバのフォルダを共有したくないからWebアプリが良いかな程度に思ってるだけだろ。
Webサーバ上に監視サービス作るのならWebアプリに拘る必要は無いし。
262デフォルトの名無しさん
2017/12/07(木) 21:19:32.52ID:lA04OzcH263デフォルトの名無しさん
2017/12/07(木) 21:21:02.83ID:p8nuhjj6264デフォルトの名無しさん
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:G7lyLovK268デフォルトの名無しさん
2017/12/07(木) 23:37:45.38ID:gBefvYul イベントの購読破棄って
どんなケースでも破棄されるように几帳面にやるものなの?
http://takachan.hatenablog.com/entry/2014/10/21/011333
これ見たら-=しなくても漏れないようなので
サボりたくなるんだけど
サボってはいけないケースとサボっていいケースがあるなら知っておきたい
どんなケースでも破棄されるように几帳面にやるものなの?
http://takachan.hatenablog.com/entry/2014/10/21/011333
これ見たら-=しなくても漏れないようなので
サボりたくなるんだけど
サボってはいけないケースとサボっていいケースがあるなら知っておきたい
269デフォルトの名無しさん
2017/12/08(金) 02:03:25.04ID:cDyzbPRT >>268
何やってるのかよー分からん記事だねw
イベントでリークが発生しうるのは相談室の方の97に書いてあるケースだけだと思う
それは違うって言ってる人もいるけど、たぶん何か勘違いしてるだけだと思うね
何やってるのかよー分からん記事だね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; }
としてしてます。
っていう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:xohAuzUW272デフォルトの名無しさん
2017/12/08(金) 07:58:19.65ID:ahDNvKU9273デフォルトの名無しさん
2017/12/08(金) 08:11:45.30ID:PpC6VnTr274デフォルトの名無しさん
2017/12/08(金) 08:41:02.41ID:LOVuAI3k275デフォルトの名無しさん
2017/12/08(金) 08:43:23.27ID:oxsZSnq/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:7LHrgDvL280デフォルトの名無しさん
2017/12/08(金) 11:44:45.00ID:oxsZSnq/ >>279
うん、実装次第だよね。
無期限か、プロキシに切られる寸前にするか、10分にするか、どうでも。
無期限はCouchDBのchange監視なんかは、ほっといたら無期限になるんじゃなかったっけ?
ログが大きくなったり他のを埋めるほどのリクエストは問題だと思うけど。特にイントラでの運用だと。
事例調べてきたらいいのになぁ
うん、実装次第だよね。
無期限か、プロキシに切られる寸前にするか、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:M8mJAXMK284デフォルトの名無しさん
2017/12/08(金) 12:53:05.93ID:eUH+zyLO285デフォルトの名無しさん
2017/12/08(金) 12:56:22.31ID:n5uOCz3i286デフォルトの名無しさん
2017/12/08(金) 12:58:10.32ID:eUH+zyLO287デフォルトの名無しさん
2017/12/08(金) 12:58:14.04ID:PXTxgSdc288デフォルトの名無しさん
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を使う事になるかなと思っているのですが、気になる点があるので教えていただければありがたいです。
ログが大きくなるとあるのですが、意識してなくてもログが記録されているものなのですか?
そのログはどこで確認でき、ログを残さなくすることはできないのでしょうか?
反応できてないですが、皆さんの議論は参考にさせて頂いています。
SignalRですか?少し調べてみたのですが、目的に合致しているかもしれません。
ですが、後だしなのですが、今回対象になっているサーバがframework 3.5で、
現在運用されているwebアプリはVS2008で開発されています。
ここに追加する形で考えているため、SignalRは使えません。
(別の場所に同じようなサーバがあり、こちらは去年立ち上げたばかりで、水平展開することになり、かつ、私が担当する事になったら是非ともSignalRなりを勉強したいと思っています。)
そこで、やはりTimerを使う事になるかなと思っているのですが、気になる点があるので教えていただければありがたいです。
ログが大きくなるとあるのですが、意識してなくてもログが記録されているものなのですか?
そのログはどこで確認でき、ログを残さなくすることはできないのでしょうか?
291デフォルトの名無しさん
2017/12/08(金) 13:23:25.17ID:LezyuZlt >>290
IISのログの事だろうけど気にしなくても良いでしょ。
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
従来型はあまり使わなくなったね。
・x:Bindによるイベントバインディング
・EventAggregatorって言う集約イベント
・Rxや、その派生のReactiveProperty
従来型はあまり使わなくなったね。
294デフォルトの名無しさん
2017/12/08(金) 14:10:42.44ID:M8mJAXMK295デフォルトの名無しさん
2017/12/08(金) 14:16:37.32ID:yJmj+jOP PerformanceCounterって、
OS起動直後からしばらく立たないと使えないとかの制限あるんですかね?
OS起動直後からしばらく立たないと使えないとかの制限あるんですかね?
296デフォルトの名無しさん
2017/12/08(金) 14:45:49.73ID:IbEiOVbO297デフォルトの名無しさん
2017/12/08(金) 14:52:00.48ID:IbEiOVbO >自分が遭遇する機会無いのならそれでいいじゃん
なにをそんなにイカってるのか分からんわ。
「イベントってUIしか使わなくなくね?イベントの使い道他になにがあるの?」
単純な疑問に突然キレられても困惑よ。
なにをそんなにイカってるのか分からんわ。
「イベントってUIしか使わなくなくね?イベントの使い道他になにがあるの?」
単純な疑問に突然キレられても困惑よ。
298デフォルトの名無しさん
2017/12/08(金) 15:19:35.30ID:FTlzMntS ここのスレの住人は「C#の〜要らなくね?」って意見に過敏だからなwwwww C#信者だから当たり前かなw
要らないとは言ってなくてもそう解釈されるんじゃよ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アプリ内で、同等の事とかできればいいんでしょうけど。
失礼しました。
サーバは、frameworkのインストールとか、既存の動いているソフトをいじるとかはできないですが、
新たなソフト(Webでもローカルexeでも)を動かしたり、フォルダやファイルの操作は自由にできます。
>一番簡単なのが他の人も書いているけどサーバー側でステータス用意して
>クライアント側がそれを取りに行くだけの処理の時だから
自分に理解できない事は脳内でスルーしてしまっているかも。
これは別途、更新したファイルのリストを作っておくとかって事でしょうか?
確かに作成されたファイルを、各リクエスト(=開いてるブラウザ、ですよね?)毎のTimerイベントで行うのは非効率ですね。
私のレベルでは、サーバでローカルアプリを動かして、何らかのファイルなりDBに出力するくらいしか思いつきません。
Webアプリ内で、同等の事とかできればいいんでしょうけど。
303デフォルトの名無しさん
2017/12/08(金) 18:12:13.39ID:oxsZSnq/304デフォルトの名無しさん
2017/12/08(金) 18:55:14.76ID:Hk+pFmDF C#だけの話では無いのですが、インスタンス作られたら自分の仕事するだけでフィールドもパブリックメソッドも無いクラスって、OOP的にはアンチパターンでしょうか
305デフォルトの名無しさん
2017/12/08(金) 19:03:17.13ID:cJ57jE1N306デフォルトの名無しさん
2017/12/08(金) 19:11:34.28ID:PpC6VnTr307デフォルトの名無しさん
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クラスは多態できない(インターフェイスも実装できないし継承関係も作れない)ので、
多態を実現するために例え状態(フィールドやプロパティ)を持たなくてもインスタンスを
作ることは理屈上はありえると思う。
私しゃーやったことありませんが
既に指摘されてる通り、アンチどうこう以前に普通は無意味だからやらないけど、
staticクラスは多態できない(インターフェイスも実装できないし継承関係も作れない)ので、
多態を実現するために例え状態(フィールドやプロパティ)を持たなくてもインスタンスを
作ることは理屈上はありえると思う。
私しゃーやったことありませんが
312デフォルトの名無しさん
2017/12/08(金) 22:39:43.44ID:zVfb1lJX >>304
staticメソッドじゃダメなの?
staticメソッドじゃダメなの?
313デフォルトの名無しさん
2017/12/08(金) 22:48:26.92ID:8QW3tG+Y314デフォルトの名無しさん
2017/12/08(金) 23:59:26.68ID:ahDNvKU9315デフォルトの名無しさん
2017/12/09(土) 18:25:35.22ID:yz0yK5Nn C++でゲーム作っていた者ですが
今後はC#で作っていこうと勉強しています
C++あがりのプログラマが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でイライラしそう
ミスじゃないけど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を多用する
・エラーを戻り値で返す
C++プログラマがC#でよくやる間違い
・クラス名の頭にCを付ける
・名前空間やメソッド名を先頭小文字にしたりアンスコ入れたりする
・using 名前空間; を恐れる
・int を System.Int32 と書きたがる
・ループ大好き
・new を嫌う
・やたらとenumを多用する
・エラーを戻り値で返す
321デフォルトの名無しさん
2017/12/09(土) 19:26:45.34ID:fpEjaZID あと、
・やたらとでかいクラスを作る
も追加で
C++はクラス定義が面倒なので心理的に大きなクラスを作る癖がつきがち
・やたらとでかいクラスを作る
も追加で
C++はクラス定義が面倒なので心理的に大きなクラスを作る癖がつきがち
322デフォルトの名無しさん
2017/12/09(土) 19:39:14.82ID:Avl0kHLY C#はRADありきで細かい部分はちょくちょくリファレンスを読んで確認するしかない
323デフォルトの名無しさん
2017/12/09(土) 19:42:11.92ID:kSf52iSg324デフォルトの名無しさん
2017/12/09(土) 19:51:35.61ID:zCNCLFXW templateの感覚でGenericを使おうとして発狂する
325デフォルトの名無しさん
2017/12/09(土) 19:55:26.03ID:fpEjaZID326デフォルトの名無しさん
2017/12/09(土) 20:41:18.42ID:1hSvWs3J >>318
かなり持続性を求めるアプリ?FullGCの影響くらうのって1秒くらいだよね?
かなり持続性を求めるアプリ?FullGCの影響くらうのって1秒くらいだよね?
327デフォルトの名無しさん
2017/12/09(土) 20:44:23.80ID:LewaYlvd 地雷原のC++を歩けるなら舗装道路のC#なんか楽勝だろと思うけど、
落とし穴があるとしたらこういう驕りかもしれんね。
C#出た頃C#によく分からん難癖付けてたのはJavaな人で、C++erはむしろ
好意的な評価の人が多かったような気がするから考えすぎかもしれんけど
落とし穴があるとしたらこういう驕りかもしれんね。
C#出た頃C#によく分からん難癖付けてたのはJavaな人で、C++erはむしろ
好意的な評価の人が多かったような気がするから考えすぎかもしれんけど
328デフォルトの名無しさん
2017/12/09(土) 20:46:31.46ID:kSf52iSg >>325
それとenumに何の関係が?
それとenumに何の関係が?
329デフォルトの名無しさん
2017/12/09(土) 21:10:41.34ID:jyWlwvil >>326
1秒ももたついたらクソゲーの烙印押されと思うぞ
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
何でGCの話になるといつもこうなのw
何十年前の話をしてるんだよw
334デフォルトの名無しさん
2017/12/09(土) 21:44:43.70ID:CMBXHaeA GCで体感できるほどもたついたことないな
335デフォルトの名無しさん
2017/12/09(土) 21:53:25.70ID:fpEjaZID >>328
さすがにenumと多態が結びつかないのはオブジェクト指向の理解不足
さすがに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をなんの懸念もなく使えるから使いまくるってことかな?
C++使いは多態を使いたがらないから、多態使わないならenumをなんの懸念もなく使えるから使いまくるってことかな?
341デフォルトの名無しさん
2017/12/09(土) 22:12:55.12ID:CMBXHaeA342デフォルトの名無しさん
2017/12/09(土) 22:13:29.50ID:jyWlwvil enum を継承? w
343デフォルトの名無しさん
2017/12/09(土) 22:15:27.00ID:DLrsngiD344デフォルトの名無しさん
2017/12/09(土) 22:17:17.61ID:CMBXHaeA >>343
他は知らん
他は知らん
345デフォルトの名無しさん
2017/12/09(土) 22:20:10.10ID:DLrsngiD >>342
クラスの中にインナーenum(?)を定義したら、そのクラス継承してもそのenumが未定義になるってことかな?
クラスの中にインナー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回だけになりました。
原因が分からないので同じような症状を経験、解決した人か心当たりのある方がいたら対処法を教えて欲しいです。
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:40kmfkZ7349デフォルトの名無しさん
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:OKZOYtiA352デフォルトの名無しさん
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使うの自然だし変えようとしたらその設計変えるしかないわ
文字列と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:zEFqnqTD360デフォルトの名無しさん
2017/12/10(日) 11:31:38.35ID:1RSLLPBx361デフォルトの名無しさん
2017/12/10(日) 11:32:45.27ID:K5F4H8OZ 例外も内部にステータス持つなら同じことだから、要はenumのかわりにクラスを使えということなんだろう。
必ずしもそれが筋が良いとは思わんけどな。
必ずしもそれが筋が良いとは思わんけどな。
362デフォルトの名無しさん
2017/12/10(日) 11:36:28.15ID:zEFqnqTD363デフォルトの名無しさん
2017/12/10(日) 11:36:52.38ID:1RSLLPBx364デフォルトの名無しさん
2017/12/10(日) 11:38:37.58ID:zEFqnqTD365デフォルトの名無しさん
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地獄に陥るのはクライアントの実装の問題なので解消できる問題だな
イベントでもいいけどイベントは管理しにくいからできれば避けたい
どの結果なら何をするかはメソッド自体は知らない
なのでenumを返してクライアントに判断してもらう
って理由でenumならなんの問題もない
enum switch地獄に陥るのはクライアントの実装の問題なので解消できる問題だな
イベントでもいいけどイベントは管理しにくいからできれば避けたい
368347
2017/12/10(日) 12:24:22.81ID:okOunyow369デフォルトの名無しさん
2017/12/10(日) 12:25:57.85ID:w7IPLNC5 そんなもん地獄でもなんでもないわw
大袈裟なやつだなw
大袈裟なやつだなw
370デフォルトの名無しさん
2017/12/10(日) 12:42:01.80ID:hfoTCgp6 なんでEnumダメなん?.NET標準ライブラリでもよく使われてるやん
371デフォルトの名無しさん
2017/12/10(日) 12:44:31.00ID:KNXh5gp+ 補完効くから便利だもんね
switchとか全部書いてくれるし
switchとか全部書いてくれるし
372デフォルトの名無しさん
2017/12/10(日) 13:02:49.80ID:Lqf3YhZb373デフォルトの名無しさん
2017/12/10(日) 13:08:33.64ID:1RSLLPBx ケースバイケース
microsoftが使ってれば万能というわけでもないし使ってなければダメというわけでも無い
microsoftが使ってれば万能というわけでもないし使ってなければダメというわけでも無い
374デフォルトの名無しさん
2017/12/10(日) 13:24:00.94ID:TdgJU12g ダメって言ってる奴の頭がおかしいだけ
enum の継承とか意味わからんし
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()); }
例えばこういう感じ
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を用意して、ってなるわけだよね。
言いたいことはわかったけど、それって整理されたの?という疑問は残る。
この例だと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() { ... }
}
というように拡張していけばいい
ならないわけだよ
MyEnumに関する責務が分散していることが問題だから整理して凝集させるわけだ
それなのに責務をまた複数のクラスに分散させてちゃ意味が無いだろう
別の場所でyを取得する処理が書かれてるなら
class MyEnumBase {
public virtual int GetX() { return 0; }
public virtual int GetY() { ... }
}
というように拡張していけばいい
382デフォルトの名無しさん
2017/12/10(日) 14:50:12.52ID:o/NiMYKz383デフォルトの名無しさん
2017/12/10(日) 15:30:45.08ID:hRp3Q2MJ >>368
最新の2017でないのなら専用スレで聞け
Visual Studio 2015 Part8
https://mevius.5ch.net/test/read.cgi/tech/1484855822/
VSは複数バージョン入れると干渉して稀に不具合起きるらしいけどその辺は自己責任
最新の2017でないのなら専用スレで聞け
Visual Studio 2015 Part8
https://mevius.5ch.net/test/read.cgi/tech/1484855822/
VSは複数バージョン入れると干渉して稀に不具合起きるらしいけどその辺は自己責任
384デフォルトの名無しさん
2017/12/10(日) 16:01:41.00ID:K5F4H8OZ >>381
そこ集めちゃうの?という印象。
たとえば enum System.IO.FileMode のようなものを class で置き換えるとした場合、せっかく
抽象化したのに操作対象毎に異なる実装をそこに全部書くことを想定しているんだろうか。
そこ集めちゃうの?という印象。
たとえば enum System.IO.FileMode のようなものを class で置き換えるとした場合、せっかく
抽象化したのに操作対象毎に異なる実装をそこに全部書くことを想定しているんだろうか。
385デフォルトの名無しさん
2017/12/10(日) 16:32:25.95ID:1RSLLPBx386デフォルトの名無しさん
2017/12/10(日) 16:41:37.05ID:1RSLLPBx むろん全てのenumをオブジェクトにすべきと言ってるわけではない
ビジネスレイヤではオブジェクトにしたほうが良い場面が圧倒的に多いが
単なるフラグセットとみなしたほうが有利な場面もそりゃあるだろう
ビジネスレイヤではオブジェクトにしたほうが良い場面が圧倒的に多いが
単なるフラグセットとみなしたほうが有利な場面もそりゃあるだろう
387デフォルトの名無しさん
2017/12/10(日) 16:56:48.76ID:K5F4H8OZ388デフォルトの名無しさん
2017/12/10(日) 16:57:04.47ID:AsjcCxkl xがなにで1と2でどう違うのか分からんが
まずxをクラス(か構造体)にするべきだと思うんだが
まず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無くした方が美しく可読的に書ける場合もあるけど、
そうじゃない場合の方が圧倒的に多い。
要するに上にも書いたけど、羹に懲りて膾を吹く類の話だよね。
今でもこういうこと言ってる人の話は真に受けちゃダメだと思う
ジャンプテーブルをどうやって実現するかって話(要するにいかに効率化するかって目線の話)
だったと思うんだけど、それが途中からこじつけか何か知らんけどOOP敵に美しいとか正しいって
話にすり替わった印象しかないね。
そりゃ多態使ってswitch無くした方が美しく可読的に書ける場合もあるけど、
そうじゃない場合の方が圧倒的に多い。
要するに上にも書いたけど、羹に懲りて膾を吹く類の話だよね。
今でもこういうこと言ってる人の話は真に受けちゃダメだと思う
394デフォルトの名無しさん
2017/12/10(日) 18:11:31.06ID:u72ghqtY enumをクラス化でシンプルにできるのはシングルのenumで状態が決まる場合
複合的な状態を持ってるとまあ理解に苦しむコードになるよ
ifとswitchのほうが読みやすく理解しやすいならそっちを使えばいい
複合的な状態を持ってるとまあ理解に苦しむコードになるよ
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:1RSLLPBx398デフォルトの名無しさん
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メソッドを検索で渡るよりまし
このコートの最初が悪くてあとが良いとは限らないと思うが
これ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のラベル化とか?
そんなんまでクラス化はしないよ
なんでもクラス化するわけじゃないってなんどもレスしてるよね?
まあ仮に区分が膨大な場合でもそれがビジネス上の振る舞いを持つならクラスにしたほうがいいぞ
クラスにしたら見通し悪いっていうけど
そりゃビジネスそのものが見通し悪いんだから仕方がないか
クラスっていう保護がなければもっと悲惨なことになる
すまんがまず100このenum値って時点で設計ミスだと思うぞ
普通の業務ロジックでそんな区分分けみたことないわ
大量のenumといったらせいぜいリソースIDのラベル化とか?
そんなんまでクラス化はしないよ
なんでもクラス化するわけじゃないってなんどもレスしてるよね?
まあ仮に区分が膨大な場合でもそれがビジネス上の振る舞いを持つならクラスにしたほうがいいぞ
クラスにしたら見通し悪いっていうけど
そりゃビジネスそのものが見通し悪いんだから仕方がないか
クラスっていう保護がなければもっと悲惨なことになる
407デフォルトの名無しさん
2017/12/10(日) 18:57:52.94ID:u72ghqtY もともと責務と言いながら
状態を伝えるだけのenumをクラスに拡張しちゃって責務の内容を広げっちゃって
保守性を落としてるんだからまだまだだね
状態を伝えるだけのenumをクラスに拡張しちゃって責務の内容を広げっちゃって
保守性を落としてるんだからまだまだだね
408デフォルトの名無しさん
2017/12/10(日) 18:59:10.78ID:u72ghqtY409デフォルトの名無しさん
2017/12/10(日) 19:02:50.61ID:1RSLLPBx enumが100個あってシステムのあっちこっちに分岐があります
仕様が変わりました値Aの仕様が変わりました
enumの場合:
システムをenumのAで検索
あっちこっちでヒットしたコードを慎重に整合性を確認しながら修正
もしかしたら見逃しがあるかもしれないと不安を抱えながら作業
Aを修正してるのに周りの他の値の場合の処理が凄まじいノイズになってめまいがする
コードが他の責務に埋め込まれてるのでテストは容易ではない
クラスの場合:
派生クラスAが定義されてるファイルを開く
1つのファイルに集中できるので楽々修正
Aに関する処理は全部このファイルにあるので見逃しも無い
他の値の処理が周りに無いのでクリアな視界で作業可能
クラスになってるのでテストは超簡単
仕様が変わりました値Aの仕様が変わりました
enumの場合:
システムをenumのAで検索
あっちこっちでヒットしたコードを慎重に整合性を確認しながら修正
もしかしたら見逃しがあるかもしれないと不安を抱えながら作業
Aを修正してるのに周りの他の値の場合の処理が凄まじいノイズになってめまいがする
コードが他の責務に埋め込まれてるのでテストは容易ではない
クラスの場合:
派生クラスAが定義されてるファイルを開く
1つのファイルに集中できるので楽々修正
Aに関する処理は全部このファイルにあるので見逃しも無い
他の値の処理が周りに無いのでクリアな視界で作業可能
クラスになってるのでテストは超簡単
410デフォルトの名無しさん
2017/12/10(日) 19:07:08.35ID:1RSLLPBx enum値が削除されたら?
新しいenum値が追加されたら?
クラス化されてないと超しんどいぞ
システムにばら撒かれたenum100個なんて管理しきれないよ
OOPの言語と開発環境ならクラス100個は楽勝で管理できるけどな
新しいenum値が追加されたら?
クラス化されてないと超しんどいぞ
システムにばら撒かれたenum100個なんて管理しきれないよ
OOPの言語と開発環境ならクラス100個は楽勝で管理できるけどな
411デフォルトの名無しさん
2017/12/10(日) 19:07:59.48ID:u72ghqtY412デフォルトの名無しさん
2017/12/10(日) 19:09:21.56ID:HHgBYreh enumなんて存在すら忘れてた
もうクセでデータ保持するクラス作っちゃってたわ
やっぱ固定値の列挙はenumの方がええんやろか
もうクセでデータ保持するクラス作っちゃってたわ
やっぱ固定値の列挙はenumの方がええんやろか
413デフォルトの名無しさん
2017/12/10(日) 19:10:43.29ID:1RSLLPBx414デフォルトの名無しさん
2017/12/10(日) 19:13:57.59ID:o/NiMYKz >>410
> システムにばら撒かれたenum100個なんて管理しきれないよ
enum 使ったことないのか?
なんか実務を知らないのに
http://iwa4.hatenablog.com/entry/2013/03/04/180521
とかを見て switch は悪 ⇒ enum 不要
とか拗らせてるって感じ w
> システムにばら撒かれた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必要になる
本当に管理しきれるのかな
記号は記号でしかないと思う
100個のクラス*100のメソッド=10000必要になる
本当に管理しきれるのかな
記号は記号でしかないと思う
417デフォルトの名無しさん
2017/12/10(日) 19:23:13.06ID:1RSLLPBx 君たちはさC#を使ってるけどOOPはできてないんじゃないかな?
たぶん昔ながらの手続き型のパラダイムから進歩してない
フィールドやプロパティは丸出しで
データベースの物理構造を色濃く反映したDTOを
ネストしまくり分岐しまくりのやけに長いトランザクションスクリプトで処理する
そんなコードばかり書いてるんだろ?
たぶん昔ながらの手続き型のパラダイムから進歩してない
フィールドやプロパティは丸出しで
データベースの物理構造を色濃く反映したDTOを
ネストしまくり分岐しまくりのやけに長いトランザクションスクリプトで処理する
そんなコードばかり書いてるんだろ?
418デフォルトの名無しさん
2017/12/10(日) 19:27:02.30ID:1RSLLPBx >>416
仕切れるよ
疎結合高業務で責務がしっかり分けられてるからね
というかそれで管理できなかったらクラスという枠組みを失い無秩序状態になった同じ数(経験上もっと多くなるが)の処理なんて余計に管理できないだろ
仕切れるよ
疎結合高業務で責務がしっかり分けられてるからね
というかそれで管理できなかったらクラスという枠組みを失い無秩序状態になった同じ数(経験上もっと多くなるが)の処理なんて余計に管理できないだろ
419デフォルトの名無しさん
2017/12/10(日) 19:28:10.84ID:RKQe6ZfS420デフォルトの名無しさん
2017/12/10(日) 19:28:59.49ID:0VP/mrFZ 滅茶苦茶レベルの低いところで仕事してるんだろうなあってのは伝わってくる
421デフォルトの名無しさん
2017/12/10(日) 19:29:31.44ID:K5F4H8OZ >>418
いや、あんたの主張は疎結合どころか、enum相当のクラスに結合しまくりだろう。
いや、あんたの主張は疎結合どころか、enum相当のクラスに結合しまくりだろう。
422デフォルトの名無しさん
2017/12/10(日) 19:32:15.18ID:1RSLLPBx >>421
疎結合だよ
クラスにすればenumを使う側はenumの振る舞いの実装を知らなくていい
クラスにすればある値と他の値の処理が同じスコープで干渉しなくて済む
こんな基本もわかってないんだよなぁ
ま、初心者スレってことか
疎結合だよ
クラスにすれば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! !
 ̄ヽ、 _ノ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
`'ー '´
○
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
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:40kmfkZ7431片山博文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の類)の話
そのエラーの意味が何に対するエラーなのかわからないので違いは説明できない
ここで言っている例外は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)+ディスパッチのコスト
で合ってる?
switchはコンパイラが2分探索にしてくれる場合がある O(log2(N))
クラス化はインスタンス生成された時点で仮想関数テーブルが紐付く O(1)+ディスパッチのコスト
で合ってる?
444デフォルトの名無しさん
2017/12/10(日) 21:54:10.74ID:bPupZbt5 >>443
switch でも状況によってジャンプテーブルにしたりするんじゃね?
switch でも状況によってジャンプテーブルにしたりするんじゃね?
445デフォルトの名無しさん
2017/12/10(日) 22:12:18.04ID:Uujd9YQH446デフォルトの名無しさん
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 を間に噛むんじゃないか?
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で渡すだけ
上手に使えばいいだけ
確固たる概念も実体もないものをわざわざクラスにしてまでenumを消す理由はない
普通のマジックナンバー代わりの記号がenum
オブジェクト間でクラスがメッセージをenumで渡すだけ
上手に使えばいいだけ
454デフォルトの名無しさん
2017/12/10(日) 23:56:55.90ID:+mi54qJj あ、もうその話終わってるんで(^^;
455デフォルトの名無しさん
2017/12/11(月) 00:02:40.94ID:4r/Nu0Q4456デフォルトの名無しさん
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
そりゃ反論はガン無視だもんな w
460デフォルトの名無しさん
2017/12/11(月) 08:32:07.64ID:Pz9H8j59 > オブジェクトの生成
状態変わらないのだからpublicなstaticメンバで持てばよい
> ライフタイム管理
そんなに気になるのならstructにすればよい
> 処理を委譲したり(最後まで)
全く意味不明
状態変わらないのだからpublicなstaticメンバで持てばよい
> ライフタイム管理
そんなに気になるのならstructにすればよい
> 処理を委譲したり(最後まで)
全く意味不明
461デフォルトの名無しさん
2017/12/11(月) 08:37:46.08ID:PAoZtWNN 一晩経っても負け惜しみ言ってるやつ居てわろた
せめて反論したらどうなの?
>>457
メッセージを列挙値で済ませようとする発想がまずチープだがまあいい
RegexOptionsみたいな場合もあるからな
問題はドメインオブジェクトを列挙値で表現してしまうケースな
昨日から議論してんのはメッセージの話じゃないんだよそもそも
君はまだそこを理解してない
せめて反論したらどうなの?
>>457
メッセージを列挙値で済ませようとする発想がまずチープだがまあいい
RegexOptionsみたいな場合もあるからな
問題はドメインオブジェクトを列挙値で表現してしまうケースな
昨日から議論してんのはメッセージの話じゃないんだよそもそも
君はまだそこを理解してない
462デフォルトの名無しさん
2017/12/11(月) 08:40:03.91ID:Pz9H8j59 どうしてもenumにこだわりたいのなら
Attribute付加
拡張メソッド作る
こんな手段はある
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でやるとどこでもそうでしょ
ソース見たほうが早いし間違いがない
ソースコードが設計書である
俺が馬鹿かどうかに関係なく、
アジャイルや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.手順的にはどのようにするのがよいのか
ヒントだけでも構いませんのでご教示いただければと思っております。
以上です。
現在押し付けられて困っていることがありご教示いただければと思っております。
環境:フレームワーク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文字列にして
その差を比較してみて両者が合うように変換していってみる
ということですね。
ちょっとコツコツやってみることにしてみます。
ありがとうございます。
あぁ、なるほど!
該当ファイルを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
リクエスト文字列を直接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なんだよ
さっさと次の課題を探さないから
どーでもいいことが意味ありそうに思えてくる
次の課題を自分で探さないといけない
プログラムスキルは組めるようになったら
そこでMaxなんだよ
さっさと次の課題を探さないから
どーでもいいことが意味ありそうに思えてくる
477デフォルトの名無しさん
2017/12/11(月) 12:58:53.47ID:WHbaikY8478デフォルトの名無しさん
2017/12/11(月) 13:49:25.47ID:jxfuchh+ >>743
レスありがとうございます。
相手が手順的にBASE64のバイト配列をUTF8文字列にして送ってくるようだったのでその手順が必要なのかな…と思いまして。
そもそも何故バイト配列からBASE64の文字列にダイレクトにしなかったのかと…。おもいつつです。
レスありがとうございます。
相手が手順的にBASE64のバイト配列をUTF8文字列にして送ってくるようだったのでその手順が必要なのかな…と思いまして。
そもそも何故バイト配列からBASE64の文字列にダイレクトにしなかったのかと…。おもいつつです。
479デフォルトの名無しさん
2017/12/11(月) 15:28:30.74ID:MTsA4uB/ >>470
元の仕様
1.ファイルをバイト配列に変換
バイト配列ができる
2.そのバイト配列をBase64エンコード
ファイルをBase64エンコードした文字列ができる(仕様上UTF-8でもシフトJISでも同じ)
3.最終的にUTF-8の文字列にして通常のリクエスト文字列として送信
これが何の変換かわからない(2.の理由により必要がない)
まず元の仕様を勘違いしていないか?
その上で逆手順のテストコードバグっているから不必要にややこしくなってる
元の仕様
1.ファイルをバイト配列に変換
バイト配列ができる
2.そのバイト配列をBase64エンコード
ファイルをBase64エンコードした文字列ができる(仕様上UTF-8でもシフトJISでも同じ)
3.最終的にUTF-8の文字列にして通常のリクエスト文字列として送信
これが何の変換かわからない(2.の理由により必要がない)
まず元の仕様を勘違いしていないか?
その上で逆手順のテストコードバグっているから不必要にややこしくなってる
480デフォルトの名無しさん
2017/12/11(月) 15:39:40.21ID:FZFaQSBJ ファイルをバイト配列に格納→をBase64に変換
↓
Base64をバイト配列に変換→バイト配列をファイルとして保存
↓
Base64をバイト配列に変換→バイト配列をファイルとして保存
481デフォルトの名無しさん
2017/12/11(月) 15:45:33.14ID:MTsA4uB/ >>470
あとBASE64の文字列の長さは4の倍数でConvert.FromBase64CharArrayにそれ以外の長さのChar[]を指定するとエラーになる
不足分を自分で埋める('='で埋める)必要があればそれもやらないと
あと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+B484デフォルトの名無しさん
2017/12/11(月) 18:27:40.38ID:sMdN9sff ドメインが理解出来ていないからすれ違いのままなのかな
485デフォルトの名無しさん
2017/12/11(月) 19:55:13.88ID:WHbaikY8486デフォルトの名無しさん
2017/12/11(月) 20:33:38.88ID:hCIPbzdz487デフォルトの名無しさん
2017/12/11(月) 20:53:07.48ID:WHbaikY8 はいはい、言葉尻にしか反論できないってことね
可哀想だな w
可哀想だな 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原則とかの設計原則の方がより重要あってね
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構文は力不足だね
前方へgotoは絶対悪だから使用厳禁
ドメインのenumと同じかw
もうちょっと緩いと思うが
switchはパターンマッチとして使うのは推奨なご時勢だけどC#のswitch構文は力不足だね
493デフォルトの名無しさん
2017/12/11(月) 23:36:59.61ID:izyLx6FJ gotoは後方への方が凶悪だろ
前方だけに使う分にはbreakやtry-catchと大差ない
前方だけに使う分にはbreakやtry-catchと大差ない
494493
2017/12/11(月) 23:40:04.94ID:izyLx6FJ 書いてから気付いたが前方参照の意味での前方か
失礼
失礼
495デフォルトの名無しさん
2017/12/11(月) 23:43:50.74ID:wiZ77PPl496デフォルトの名無しさん
2017/12/11(月) 23:54:41.55ID:SJ7HWrxD >>495
〇〇をなくせというルールが馬鹿にたいする足枷でしかないのは全くその通り
だから俺みたいな賢人にはどうでもいい
逆に馬鹿に設計原則は理解出来ないだろう
SOLID原則が理解出来るならそいつは馬鹿ではない
〇〇をなくせというルールが馬鹿にたいする足枷でしかないのは全くその通り
だから俺みたいな賢人にはどうでもいい
逆に馬鹿に設計原則は理解出来ないだろう
SOLID原則が理解出来るならそいつは馬鹿ではない
497デフォルトの名無しさん
2017/12/12(火) 00:01:45.14ID:98iDbaWn498デフォルトの名無しさん
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
これもバカの典型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:Vo2kP02L507デフォルトの名無しさん
2017/12/12(火) 09:32:06.37ID:enzDDAPg 10年以上いたら辛いこともあるだろ
508デフォルトの名無しさん
2017/12/12(火) 09:55:36.90ID:B9ezHy21 >>506
一晩越してもまだ悔しいんかw
一晩越してもまだ悔しいんかw
509デフォルトの名無しさん
2017/12/12(火) 13:01:20.73ID:55mcEBCK >>508
お前がな w
お前がな w
510デフォルトの名無しさん
2017/12/12(火) 21:31:34.33ID:CwRQgOlO tensorflow+keras+c#で
エロ画像を自動分類するソフトを
作って欲しいと頼まれたんだけど
c#から出来そうですか?
参考になるサイトないですか?
エロ画像を自動分類するソフトを
作って欲しいと頼まれたんだけど
c#から出来そうですか?
参考になるサイトないですか?
511デフォルトの名無しさん
2017/12/12(火) 21:36:58.22ID:Hba1R6el 特徴量でググりまくれ
512デフォルトの名無しさん
2017/12/12(火) 21:52:35.56ID:NQyVP+w1513デフォルトの名無しさん
2017/12/12(火) 21:57:23.48ID:CwRQgOlO514デフォルトの名無しさん
2017/12/12(火) 22:03:01.97ID:+ghxhmVd エロがそんな単純だと思うなよ
515デフォルトの名無しさん
2017/12/12(火) 22:03:38.97ID:NQyVP+w1516デフォルトの名無しさん
2017/12/12(火) 22:06:27.53ID:yoDcG/vu517デフォルトの名無しさん
2017/12/12(火) 22:06:56.72ID:CwRQgOlO >>515
人妻、NTR、レ○プ
人妻、NTR、レ○プ
518デフォルトの名無しさん
2017/12/12(火) 22:08:56.23ID:+ghxhmVd 絵で区別できねーだろそれ
519デフォルトの名無しさん
2017/12/12(火) 22:09:56.75ID:CwRQgOlO520デフォルトの名無しさん
2017/12/12(火) 22:12:39.20ID:+ghxhmVd 無理 付いてる字幕次第で印象が全然変わるから
521デフォルトの名無しさん
2017/12/12(火) 22:14:01.82ID:NQyVP+w1522デフォルトの名無しさん
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+w1526デフォルトの名無しさん
2017/12/12(火) 22:18:48.48ID:yoDcG/vu >>524
頭にディープインパクトして二度と来るな
頭にディープインパクトして二度と来るな
527デフォルトの名無しさん
2017/12/12(火) 22:22:07.89ID:ZGog+EYK webでそういう判定してくれるサービスありそうだけどね
そういや俺もwebとかネットワーク関係まったく触ったことないんだけど、
C#でもVBでもいいけどそっち系のチュートリアルってどこかにある?
洋書は知らんけど本はほとんどないよね
そういや俺もwebとかネットワーク関係まったく触ったことないんだけど、
C#でもVBでもいいけどそっち系のチュートリアルってどこかにある?
洋書は知らんけど本はほとんどないよね
528デフォルトの名無しさん
2017/12/12(火) 22:23:51.41ID:/hFzA9NO 試しに学習させてみればいいやんけ
これはNTR、これは人妻、これはレ●プ、(以下略)
こんなデータを大量に与える
そして最後にテスト画像を見せて当てられるかどうか
これはNTR、これは人妻、これはレ●プ、(以下略)
こんなデータを大量に与える
そして最後にテスト画像を見せて当てられるかどうか
529デフォルトの名無しさん
2017/12/12(火) 22:24:07.38ID:+ghxhmVd Webサービスを展開する話なら、言語がどうこうっつーより
サーバOSとか機器環境とかの話になっちゃうからなあ
サーバOSとか機器環境とかの話になっちゃうからなあ
530デフォルトの名無しさん
2017/12/12(火) 22:24:09.98ID:CwRQgOlO531デフォルトの名無しさん
2017/12/12(火) 22:40:24.36ID:NQyVP+w1 ディープラーニング、機械学習の本は最近ぼこぼこ出てるよ
内容は似たり寄ったり
地元の図書館にも充実とまではいかないけど今年だけで3冊ぐらい入った
雑誌もディープラーニング特集すると部数が伸びるらしいのでよく特集される
内容は似たり寄ったり
地元の図書館にも充実とまではいかないけど今年だけで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年もしたらオンプレサーバーなんかほぼ消滅するレベルだぞ
エンタープライズでも驚異的な勢いで伸びてて、あと5年もしたらオンプレサーバーなんかほぼ消滅するレベルだぞ
535デフォルトの名無しさん
2017/12/12(火) 23:42:13.92ID:enzDDAPg 何を指標にガチってるのか分からんが
AWSだけで100億ドル超を売り上げるくらいには使われてるだろ
AWSだけで100億ドル超を売り上げるくらいには使われてるだろ
536デフォルトの名無しさん
2017/12/12(火) 23:52:57.04ID:qioa7JjJ まあ、企業向けのサーバーなんしょ?
閉じたネットワークの業務アプリばっかで今までもあんまり関わり無かったからなぁ
閉じたネットワークの業務アプリばっかで今までもあんまり関わり無かったからなぁ
537デフォルトの名無しさん
2017/12/13(水) 00:03:21.24ID:prgZVef7538デフォルトの名無しさん
2017/12/13(水) 00:14:37.13ID:7y6FaNAn SIのインフラ屋でコード書けない奴はガチでやばいよ
従来のインフラ構築運用なんかクラウドじゃ全く商売にならん
インフラはもはや、アプリエンジニアや社内SEが片手間にポチポチやるもの
従来のインフラ構築運用なんかクラウドじゃ全く商売にならん
インフラはもはや、アプリエンジニアや社内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
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:5hkNOkMK548デフォルトの名無しさん
2017/12/13(水) 10:05:50.55ID:7X3tjs6V549デフォルトの名無しさん
2017/12/13(水) 10:11:11.76ID:WF2IXduz >>547
グーグル先生にMoqを教えて貰え
グーグル先生にMoqを教えて貰え
550デフォルトの名無しさん
2017/12/13(水) 10:14:58.04ID:1Q6K9tEb Aの値を求める
↓
AとBが等しいか
1等しくないなら
Aの値を変更して初めに戻る
2等しくなくて3回Aの値を変えている
失敗で終了
3等しい
正常に終了
というプログラムを作りたいのですが
どう条件分岐や反復を使用していいかわかりません
Aの値の変更は他アプリへの入力で、Aの値を求めるというのは他アプリの状態です
アドバイスお願い致します
↓
AとBが等しいか
1等しくないなら
Aの値を変更して初めに戻る
2等しくなくて3回Aの値を変えている
失敗で終了
3等しい
正常に終了
というプログラムを作りたいのですが
どう条件分岐や反復を使用していいかわかりません
Aの値の変更は他アプリへの入力で、Aの値を求めるというのは他アプリの状態です
アドバイスお願い致します
551デフォルトの名無しさん
2017/12/13(水) 10:21:01.20ID:QhF+UxFg552デフォルトの名無しさん
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回とも失敗]}
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:1Q6K9tEb554デフォルトの名無しさん
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; //失敗
だって要するに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;
こっちの方がいいね
これはちょとミスリーディングか。
こだわるなら
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:xw1cKw2m559デフォルトの名無しさん
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:celmGK9q563デフォルトの名無しさん
2017/12/13(水) 18:26:58.52ID:m+6YTdY7 >>562
C#の質問じゃないな
C#の質問じゃないな
564デフォルトの名無しさん
2017/12/13(水) 18:31:40.81ID:celmGK9q565デフォルトの名無しさん
2017/12/13(水) 18:51:30.28ID:Aix7CEXX566デフォルトの名無しさん
2017/12/13(水) 19:17:20.81ID:48dLEnlz VBですみません。下記のようなコードで印刷ジョブの数を取得すると
OSの印刷ジョブ一覧ウィンドウで見える数と違うのですが
なぜ違ってしまうのでしょうか?
'プリントサーバの情報取得
Dim prtSv As New LocalPrintServer()
'印刷キュー取得
Dim que As PrintQueue = prtSv.DefaultPrintQueue
msgbox que.NumberOfJobs
OSの印刷ジョブ一覧ウィンドウで見える数と違うのですが
なぜ違ってしまうのでしょうか?
'プリントサーバの情報取得
Dim prtSv As New LocalPrintServer()
'印刷キュー取得
Dim que As PrintQueue = prtSv.DefaultPrintQueue
msgbox que.NumberOfJobs
567デフォルトの名無しさん
2017/12/13(水) 19:23:41.42ID:qPshWZUl568デフォルトの名無しさん
2017/12/13(水) 19:25:11.30ID:qPshWZUl569デフォルトの名無しさん
2017/12/13(水) 19:28:38.16ID:celmGK9q570デフォルトの名無しさん
2017/12/13(水) 19:29:21.02ID:48dLEnlz >>567
環境はWin7です。プリンタを一時停止にしてジョブを40個くらいためていくと
que.NumberOfJobsは35が返ってきたりします。
時間が経つと40が返ってきたりします。
時間差があるのでしょうか?印刷が成功したか知りたいのですが
そのジョブが見つからないのです。
環境はWin7です。プリンタを一時停止にしてジョブを40個くらいためていくと
que.NumberOfJobsは35が返ってきたりします。
時間が経つと40が返ってきたりします。
時間差があるのでしょうか?印刷が成功したか知りたいのですが
そのジョブが見つからないのです。
571デフォルトの名無しさん
2017/12/13(水) 19:29:55.45ID:JWALofvX >>566
スレタイとテンプレ読め
スレタイとテンプレ読め
572デフォルトの名無しさん
2017/12/13(水) 19:33:48.02ID:48dLEnlz573デフォルトの名無しさん
2017/12/13(水) 19:36:20.02ID:celmGK9q574デフォルトの名無しさん
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()はしています。
自分も認識としてはそうなんですが何故か想定と違う値が返ってきてしまい・・・
ちなみに.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:o6fkcoL6578デフォルトの名無しさん
2017/12/13(水) 20:00:10.64ID:celmGK9q 質問ですがWPFでCommandからModelにアクセスするにはどうすればいいですか?
例えばボタンをクリックしたらModelのBuyNumプロパティをインクリメントしてそれをViewのLabelに反映させたりしたいときなどです。
例えばボタンをクリックしたらModelのBuyNumプロパティをインクリメントしてそれをViewのLabelに反映させたりしたいときなどです。
579デフォルトの名無しさん
2017/12/13(水) 20:01:32.95ID:48dLEnlz580デフォルトの名無しさん
2017/12/13(水) 20:55:52.96ID:6RipZ3Bg581デフォルトの名無しさん
2017/12/13(水) 21:45:44.50ID:pl2NU6fI >>578
command生成時にVMのメソッドかVMのインスタンスをcommandに渡す
つかICommandなんて使わずにコードビハインドのコールバックからVMのメソッド呼び出す方が分かりやすいよ
command生成時にVMのメソッドかVMのインスタンスをcommandに渡す
つかICommandなんて使わずにコードビハインドのコールバックからVMのメソッド呼び出す方が分かりやすいよ
582デフォルトの名無しさん
2017/12/13(水) 21:56:15.26ID:i7QaIdVf >>578
よくあるパターンだと、DIコンテナってのを使ったりします。モデルのインスタンスを管理するプログラムが有って
VMが起動されたときにModelのインスタンスをVMに渡すことが出来ます
Prism.Unityとか、MEFとかAutoFacなんてのがありますので興味があれば調べてくださいね
よくあるパターンだと、DIコンテナってのを使ったりします。モデルのインスタンスを管理するプログラムが有って
VMが起動されたときにModelのインスタンスをVMに渡すことが出来ます
Prism.Unityとか、MEFとかAutoFacなんてのがありますので興味があれば調べてくださいね
583デフォルトの名無しさん
2017/12/13(水) 22:32:23.84ID:D2CxP1eV コマンドバインディングとデータバインディングを一緒くたにするのは混乱の元
つかWPFスレの次スレ建ってないんだな
つか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度だけ更新をしたいです
UpdateでWhereを指定するにはどうしたらいいでしょうか?
現在は以下のようになってます
ctx.Students.Update(student);
ctx.SaveChanges();
もしくは、行ロックのやり方を教えてください
レコードを更新する際に特定の条件下なら1度だけ更新をしたいです
587デフォルトの名無しさん
2017/12/13(水) 23:31:04.98ID:celmGK9q588デフォルトの名無しさん
2017/12/13(水) 23:37:57.02ID:muTUiD7C WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part22
http://mevius.2ch.net/test/read.cgi/tech/1513175747/
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("仕様書に書いてないけど?");
}
こういったのプログラミングするときちゃんと書かれてる通りに作れって思う
仕様書の書き方がクソで勝手に直したくなるのは分かるけど
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(条件)追加すればいいんじゃないか?
.Where(条件)追加すればいいんじゃないか?
591デフォルトの名無しさん
2017/12/14(木) 00:09:23.47ID:AbaQzWBd592デフォルトの名無しさん
2017/12/14(木) 06:07:27.62ID:tSpFRQdC593デフォルトの名無しさん
2017/12/14(木) 07:19:39.96ID:VVrew0Yx amazon死んでる
AWSも逝った?
AWSも逝った?
594デフォルトの名無しさん
2017/12/14(木) 08:04:04.61ID:5Zp71Sbj おまえらなんでアジュール使わないの?
595デフォルトの名無しさん
2017/12/14(木) 08:28:56.13ID:VVrew0Yx596デフォルトの名無しさん
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:exEWR3q2602デフォルトの名無しさん
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:VYyAdkca605デフォルトの名無しさん
2017/12/14(木) 12:14:15.12ID:E4k7gbUw どこに書いてもいいけど
} catch (Exception) { }
とかやんなよハゲ、それじゃどこで例外が発生したかわからんだろが、どうやってデバックすんだ
と怒鳴られたんだろう
事なかれ主義で育てられた子が面倒を起こすパターン
事なかれ例外と名付けよう
} catch (Exception) { }
とかやんなよハゲ、それじゃどこで例外が発生したかわからんだろが、どうやってデバックすんだ
と怒鳴られたんだろう
事なかれ主義で育てられた子が面倒を起こすパターン
事なかれ例外と名付けよう
606デフォルトの名無しさん
2017/12/14(木) 12:19:44.66ID:yn4+AjAE >>605
だって、このメソッドで落ちると困るじゃん例外とも言う
だって、このメソッドで落ちると困るじゃん例外とも言う
607デフォルトの名無しさん
2017/12/14(木) 12:33:59.88ID:PpIxqW4X608デフォルトの名無しさん
2017/12/14(木) 12:52:43.26ID:h0pJUyRR609デフォルトの名無しさん
2017/12/14(木) 13:34:33.61ID:6p67cfA3 >>608
語るなら理由も書いてくれ
語るなら理由も書いてくれ
610デフォルトの名無しさん
2017/12/14(木) 13:37:11.31ID:exEWR3q2611デフォルトの名無しさん
2017/12/14(木) 14:07:14.43ID:h0pJUyRR612デフォルトの名無しさん
2017/12/14(木) 14:13:12.44ID:yn4+AjAE >>610
一律で書かないと言うのは集中キャッチハンドラーがあるからでしょ
一律で書かないと言うのは集中キャッチハンドラーがあるからでしょ
613デフォルトの名無しさん
2017/12/14(木) 15:27:07.73ID:exEWR3q2614デフォルトの名無しさん
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に展開されるという・・・
usingはtry finallyに展開されるという・・・
621デフォルトの名無しさん
2017/12/14(木) 22:01:50.75ID:NV/46Hd7 >>620
自分で書いてミスるのを防ぐため
自分で書いてミスるのを防ぐため
622デフォルトの名無しさん
2017/12/14(木) 22:42:27.89ID:83z5th3I なんで?
Finallyあると開放されないん?
Finallyあると開放されないん?
623デフォルトの名無しさん
2017/12/14(木) 22:52:02.96ID:6p67cfA3624デフォルトの名無しさん
2017/12/14(木) 22:58:02.78ID:6p67cfA3625デフォルトの名無しさん
2017/12/15(金) 02:32:16.25ID:6xqAElZe 1234.5678 => 1,234.5678
1234.56 => 1,234.56
123.456 => 123.456
というように、
数値を3桁区切り+小数点を含める(0埋めしない)文字列を出力するにはどうしたら良いでしょうか?
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
でできそうにないものは整数部分と小数点以下に分けて文字列作って合わせるしかない
複合書式指定
https://msdn.microsoft.com/ja-jp/library/txafckwd(v=vs.110).aspx
でできそうにないものは整数部分と小数点以下に分けて文字列作って合わせるしかない
627デフォルトの名無しさん
2017/12/15(金) 02:45:25.60ID:6xqAElZe >>626
C#ってわざわざ面倒臭いことしないといけないんですね・・・
C#ってわざわざ面倒臭いことしないといけないんですね・・・
628デフォルトの名無しさん
2017/12/15(金) 02:53:08.52ID:OGT2pKSi629デフォルトの名無しさん
2017/12/15(金) 03:21:16.28ID:IbhaoRnF630デフォルトの名無しさん
2017/12/15(金) 09:01:04.44ID:BaW7Km5G631デフォルトの名無しさん
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}", 数値);
Console.WriteLine("{0:N}", 数値);
633デフォルトの名無しさん
2017/12/15(金) 12:48:50.32ID:6xqAElZe634デフォルトの名無しさん
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#にしようと思う。
ライブラリクラスをC#にしようと思う。
639デフォルトの名無しさん
2017/12/15(金) 17:10:02.32ID:aCy2oimY >>638
https://dobon.net/vb/dotnet/links/convertcs2vb.html
sharpdevelopとかいうのでできた気がすんだよ
ちょっとやってみてよ
試す価値はあるでしょ?
ただ、動作までは知らんから変換出来てもテスト工数は減らせないぞ
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がそんな綺麗なコード書くわけ無いでしょ
VBerがそんな綺麗なコード書くわけ無いでしょ
643デフォルトの名無しさん
2017/12/15(金) 18:43:49.15ID:M7F98+kf 心が綺麗だとコードも綺麗。
644デフォルトの名無しさん
2017/12/15(金) 18:47:39.84ID:Sbz3X1/O VisualBasicがなかったら
ファイルをゴミ箱入れたいとき困るじゃないですか
ファイルをゴミ箱入れたいとき困るじゃないですか
646デフォルトの名無しさん
2017/12/15(金) 21:11:29.58ID:Hv9P7iJ4647デフォルトの名無しさん
2017/12/15(金) 21:29:12.26ID:GAdh6qIc >>645
はいキチガイ
はいキチガイ
648デフォルトの名無しさん
2017/12/15(金) 21:30:37.92ID:wB/Paoxt >>644
Microsoft.VisualBasic.dllだけあればいいよ
Microsoft.VisualBasic.dllだけあればいいよ
649デフォルトの名無しさん
2017/12/15(金) 22:02:04.42ID:JZUrtsL7 >>625
Console.WriteLine("{0:#,#.##########}", 1234.5678);
Console.WriteLine("{0:#,#.##########}", 1234.5678);
650デフォルトの名無しさん
2017/12/15(金) 23:04:45.15ID:ZiMYN4DZ651デフォルトの名無しさん
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)
クラス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 じゃないの?
それって vb6 ⇒ vb.net じゃないの?
656デフォルトの名無しさん
2017/12/16(土) 10:54:04.95ID:VgVQwchc657デフォルトの名無しさん
2017/12/16(土) 10:56:52.96ID:ghluEyaB まあ、最悪ベタで組めばいいじゃん
658デフォルトの名無しさん
2017/12/16(土) 11:55:33.53ID:8tD9WB4W 関数をreturn する直前で実行したい処理があるのですが、
try catch finallyを使うとできますが、finally
だけ使いたいのですが、そう言うのは無いですか?
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でその処理へ飛ばせばいいだろ
複数の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だけもあるけど
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
finallyだけじゃどこを抜けたらか分からないよ、ちゃんとそれぞれ有ります
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/try-finally
664デフォルトの名無しさん
2017/12/16(土) 12:51:36.41ID:8tD9WB4W665デフォルトの名無しさん
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コンセントって型=インターフェース
100Vコンセントって型=インターフェース
669デフォルトの名無しさん
2017/12/16(土) 16:53:14.91ID:DOHaPC3l backgroundWorkerにおいて、ある関数を実行していて
その関数内である条件になった時にbackgroundWorkerを停止したいのですが
何か簡単な方法はないでしょうか?
backgroundWorkerで無限ループで関数を実行していて、関数の中の関数でエラーが発生した時にbackgroundWorkerを緊急停止する様に
プログラムが組みたいのです。
その関数内である条件になった時にbackgroundWorkerを停止したいのですが
何か簡単な方法はないでしょうか?
backgroundWorkerで無限ループで関数を実行していて、関数の中の関数でエラーが発生した時にbackgroundWorkerを緊急停止する様に
プログラムが組みたいのです。
670デフォルトの名無しさん
2017/12/16(土) 16:56:31.41ID:ghluEyaB671デフォルトの名無しさん
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と処理が続いていって死にはしませんが意図しない動きをしている感じです
戻り値と条件分岐で場合分けしていけばいいのかなとも思いましたが関数が大量にあり複雑で何か簡単な手段はないものかとお聞きしてみました
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()でだめな理由があるの?
関数の中でエラー検出できないとかじゃないよね
https://dobon.net/vb/dotnet/programing/progressdialogbw.html
CancelAsync()でだめな理由があるの?
関数の中でエラー検出できないとかじゃないよね
675デフォルトの名無しさん
2017/12/16(土) 17:13:01.57ID:DOHaPC3l >>674
キャンセルボタンは一応ついていまして
Aの実行後にボタンが押されていればCancelAsync()を使っています
AやBの関数中でもCancelAsync()と書いて一発で止められればいいのに…という感じです
キャンセルボタンは一応ついていまして
Aの実行後にボタンが押されていればCancelAsync()を使っています
AやBの関数中でもCancelAsync()と書いて一発で止められればいいのに…という感じです
676デフォルトの名無しさん
2017/12/16(土) 17:14:42.73ID:na0PR4/Y677デフォルトの名無しさん
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さんは「そういうことを(安全に)したいのならその部分を別アプリにしろ」と言っている
同じような質問で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);
とかすればいいんじゃないか
まず「止める」って発想がおかしい。
各メソッドが「止まる」ように設計しなきゃ。
各メソッドの引数に処理がキャンセルされたかどうかを返す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にするようにすれば。
Bでエラーが発生したら例外投げて、backgroundWorker.DoWork内のループでその例外を補足してe.Cancel=trueにするようにすれば。
683デフォルトの名無しさん
2017/12/16(土) 17:58:55.94ID:qA7A9B95684デフォルトの名無しさん
2017/12/16(土) 18:12:53.74ID:DOHaPC3l685デフォルトの名無しさん
2017/12/16(土) 18:22:29.26ID:cphXnYZp >>666
何言ってんだこいつ?
何言ってんだこいつ?
686デフォルトの名無しさん
2017/12/16(土) 19:04:01.72ID:ghluEyaB687デフォルトの名無しさん
2017/12/16(土) 19:11:54.53ID:FKHtpILn >>686
うん、ほしい
うん、ほしい
688デフォルトの名無しさん
2017/12/16(土) 19:14:12.13ID:ghluEyaB689デフォルトの名無しさん
2017/12/16(土) 19:15:20.72ID:FKHtpILn >>688
はやくちょーだい?
はやくちょーだい?
690デフォルトの名無しさん
2017/12/16(土) 19:18:34.13ID:cphXnYZp691デフォルトの名無しさん
2017/12/16(土) 19:19:38.55ID:ghluEyaB >>690
お前は「USBちんぽん」使ってくれるの?
お前は「USBちんぽん」使ってくれるの?
692デフォルトの名無しさん
2017/12/16(土) 21:53:57.13ID:B4/eWtrI693デフォルトの名無しさん
2017/12/17(日) 01:36:39.71ID:hpnS8mLh Chartを2個置いているのですが、このフォームを最大化した際にこの比率のままChartをフォームに合わせてリサイズするにはどのように設定すればいいのでしょうか?
Anchorを上下左右全てオンにした場合、自動的にリサイズした際に右側のChartが隠れてしまいます
https://i.imgur.com/53dfVWo.jpg
Anchorを上下左右全てオンにした場合、自動的にリサイズした際に右側のChartが隠れてしまいます
https://i.imgur.com/53dfVWo.jpg
694デフォルトの名無しさん
2017/12/17(日) 01:40:47.18ID:hpnS8mLh >>693
補足です
直撮りで申し訳ないですが、1枚目が正常な場合です
これを最大化した時もそのままにしたいのですがanchorを全部設定するだけだと2枚目のように手前側の設定が反映されて被ってしまいます
https://i.imgur.com/ZQsJtG4.jpg
https://i.imgur.com/lR2CXSU.jpg
補足です
直撮りで申し訳ないですが、1枚目が正常な場合です
これを最大化した時もそのままにしたいのですがanchorを全部設定するだけだと2枚目のように手前側の設定が反映されて被ってしまいます
https://i.imgur.com/ZQsJtG4.jpg
https://i.imgur.com/lR2CXSU.jpg
695デフォルトの名無しさん
2017/12/17(日) 01:41:46.33ID:CSXOgBDh696デフォルトの名無しさん
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
少しこの辺りの試そうと思います
回答通り、標準ではそういう機能無いみたいですね
ありがとうございました
どもです
検索ワード少し変えて探したらこんなのが出てきました
https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/44b83f8c-7ac1-463f-9153-3d1a67197a8d?forum=csharpgeneralja
少しこの辺りの試そうと思います
回答通り、標準ではそういう機能無いみたいですね
ありがとうございました
698デフォルトの名無しさん
2017/12/17(日) 11:39:32.44ID:hpnS8mLh699デフォルトの名無しさん
2017/12/17(日) 12:05:55.48ID:4m+VWQn4700デフォルトの名無しさん
2017/12/17(日) 12:08:11.46ID:opp+Hz1N >>699
なわけないでしょ
なわけないでしょ
701デフォルトの名無しさん
2017/12/17(日) 12:08:27.63ID:4m+VWQn4 >>673
Task使え
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:OwhBw4on705デフォルトの名無しさん
2017/12/17(日) 14:27:27.54ID:sFu7AEYs706デフォルトの名無しさん
2017/12/17(日) 14:51:02.99ID:RNTbc2+q 意味の共有ができない喩えいいかげんやめたら
707デフォルトの名無しさん
2017/12/17(日) 15:33:24.95ID:sFu7AEYs708デフォルトの名無しさん
2017/12/17(日) 20:19:06.53ID:6F/MtA/p709デフォルトの名無しさん
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:qS3H4jkn712デフォルトの名無しさん
2017/12/17(日) 22:22:18.95ID:sFu7AEYs >>711
いい機会なのでトランザクションについて調べてみるでFA
いい機会なのでトランザクションについて調べてみるでFA
713デフォルトの名無しさん
2017/12/17(日) 22:25:31.50ID:ZCl426tV なんがどうなれば危険なのかしらんが、そんなものはその関数の実装によるわ
714デフォルトの名無しさん
2017/12/17(日) 22:27:39.83ID:sFu7AEYs715デフォルトの名無しさん
2017/12/18(月) 09:06:05.17ID:325qmzym >>709
ef噛まして楽観的排他制御でfa
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のとこで到達できないコードが検出されました
と出るのですが何がいけないのでしょうか
{
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は要らない
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:ce0jsCws726デフォルトの名無しさん
2017/12/18(月) 21:33:23.50ID:6wmobrlb それは甘い
例えばConsole.Writeは当然状態と持たないが、
何か適当な文字列(πでも聖書でも何でもいい)を少しずつ標準出力に
書き出すメソッドを2つのスレッドで実行したらどうなる
例えば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を持っているんだよ
残念ながら「コンソール」と言う外部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を使っているのですがどのようにしたらいいでしょうか?
上のような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/jFn736デフォルトの名無しさん
2017/12/18(月) 23:28:28.84ID:pniu1iMQ737デフォルトの名無しさん
2017/12/19(火) 00:49:42.79ID:aZpIRKJe738デフォルトの名無しさん
2017/12/19(火) 00:53:59.81ID:ySpyuYdG >>737
変数名Testを違うのに変えてもダメですか?
変数名Testを違うのに変えてもダメですか?
739デフォルトの名無しさん
2017/12/19(火) 01:03:43.75ID:aZpIRKJe740デフォルトの名無しさん
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を渡す
BlockingQueueのコンストラクタにConcurrentQueueを渡す
747デフォルトの名無しさん
2017/12/19(火) 10:25:11.81ID:OVvTmQOX BlockingCollectionだな
ちなみにコンストラクタに基になるコレクション渡さなかったら既定でConcurrentQueueが使われる
ちなみにコンストラクタに基になるコレクション渡さなかったら既定でConcurrentQueueが使われる
748デフォルトの名無しさん
2017/12/19(火) 10:28:02.49ID:gf33i/87 >>741
SeriLogの実装みてみ
SeriLogの実装みてみ
749デフォルトの名無しさん
2017/12/19(火) 10:32:13.69ID:NMj9FFtI やってみた感じぶっちゃけ難しい
片方のスレッドが超忙しいとき待ちが発生すると他のスレッドが全く動かなくなっちゃう
片方のスレッドが超忙しいとき待ちが発生すると他のスレッドが全く動かなくなっちゃう
750デフォルトの名無しさん
2017/12/19(火) 11:33:40.95ID:Ck77l9Yv もう書いてる人がいるけど、前後関係が重要なら文字通りバッファーを設けるだけだよね
ライブラリのQueueは使いづらいからたぶん自作することになるけど、そんな難しくない
ライブラリの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+B754741
2017/12/19(火) 12:37:26.95ID:JkA1xsmg 順序は気にしません
2つのスレッドそれぞれから1回/秒ずつ出力されるだけです
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使うだけじゃないの?
何を聞きたいのかよく分からないw
たぶん俺だけじゃないと思う
とりあえず「費用合計」クラスは普通に考えればない
合計を求める費用を集約しているオブジェクトがあるなら、そのオブジェクトに
合計させる(LINQのSum使ってもいいし自分でメソッドかプロパティを書いてもいい)のが普通
そんなものなくても配列にでもぶち込んでLINQ使うだけじゃないの?
757デフォルトの名無しさん
2017/12/19(火) 14:32:35.77ID:f0pyN6AV いやなかなかいい質問だと思うよ
初心者でそこに気付けるのはいい視点だと思う
素質がある
中級者でもそこに全然思いが至らない人がいて困る
素質のない人だ
Sumを呼ぶとその時点で計算が行われるのことが困る場合がある
10個スレッドがあってそれぞれでSUM呼ばれて値が一致しないとか
そのつどDB読んじゃって負荷がかかりすぎるとか
初心者でそこに気付けるのはいい視点だと思う
素質がある
中級者でもそこに全然思いが至らない人がいて困る
素質のない人だ
Sumを呼ぶとその時点で計算が行われるのことが困る場合がある
10個スレッドがあってそれぞれでSUM呼ばれて値が一致しないとか
そのつどDB読んじゃって負荷がかかりすぎるとか
758デフォルトの名無しさん
2017/12/19(火) 14:44:56.70ID:/RoT047O759デフォルトの名無しさん
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/P54BS764デフォルトの名無しさん
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クラスの人の回答をお願いします。
関数などが沢山増えて来てコードが数千行になって来たのだが、
そう言う関数はどこに置けばいいの?
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:0zOqWbHM770デフォルトの名無しさん
2017/12/19(火) 16:53:03.26ID:8WX8gLVn Controllerに何でも詰め込むからだろ
Modelにやらせればええのだ
Modelにやらせればええのだ
771デフォルトの名無しさん
2017/12/19(火) 17:05:55.38ID:RU/P54BS >>768
代案を出せよMVP
代案を出せよ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:ayXhJHgO775デフォルトの名無しさん
2017/12/19(火) 18:40:59.36ID:J+VWEpvK 「決まった答えはない」とか言うの決まった答えしかできない奴よくいるよねw
776デフォルトの名無しさん
2017/12/19(火) 18:53:48.71ID:JM38580+ >>775
日本語www
日本語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;
}
}
費目が増えても多態で対応できるのでオブジェクト指向しているなと思ったのですが
費用合計を出すのに都度インスタンスを作るのがなんだか野暮ったく
一般的なやり方をしているのか気になり投稿しました
このような書き方は、何か問題があるでしょうか?
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は命名が難しいなと
費用合計や各費目の値を返すメソッドを作ろうと思ったのですが
抽象クラスに「費目」という名前を使ってしまったので
テンパっています
OOは命名が難しいなと
780デフォルトの名無しさん
2017/12/19(火) 22:05:19.18ID:N/VqY3nf ありがちな形にこだわるタイプか
継承しなきゃならないほど金額()が込みいっているのかは置いておいて「動けばいいんだよ」
継承しなきゃならないほど金額()が込みいっているのかは置いておいて「動けばいいんだよ」
781デフォルトの名無しさん
2017/12/19(火) 22:06:13.10ID:MJol/7NU 全体見てないからなんとも言えんけど
その粒度でクラス作るとクラス図ってどうなるの?
2000項目あったら2000クラス作るの?
って心配になった
あとは動けばいいよ
その粒度でクラス作るとクラス図ってどうなるの?
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 総費用 = 支払家賃 + 水道光熱費 ;
}
なんかこれで問題ないようにも聞こえるけどこれじゃダメなの?
だから悪いけど結局何が聞きたいのか伝わってないと思うよw
public static class 費用
{
public const int 支払家賃 = 100;
public const int 水道光熱費 = 200;
public const int 総費用 = 支払家賃 + 水道光熱費 ;
}
なんかこれで問題ないようにも聞こえるけどこれじゃダメなの?
783デフォルトの名無しさん
2017/12/19(火) 22:12:45.55ID:XIiNWcV9784デフォルトの名無しさん
2017/12/19(火) 22:13:51.01ID:ySpyuYdG785デフォルトの名無しさん
2017/12/19(火) 22:15:56.11ID:XIiNWcV9786デフォルトの名無しさん
2017/12/19(火) 22:17:09.67ID:ySpyuYdG787デフォルトの名無しさん
2017/12/19(火) 22:20:34.71ID:XIiNWcV9788デフォルトの名無しさん
2017/12/19(火) 22:21:50.93ID:Li3fAhD+ どうやったらこんなつまんないレスを返せるんだよ...
重症やな w
重症やな w
789デフォルトの名無しさん
2017/12/19(火) 22:24:47.20ID:ySpyuYdG790デフォルトの名無しさん
2017/12/19(火) 22:29:22.36ID:f0lLnGqp MVPクラスの人は居ますか?
791デフォルトの名無しさん
2017/12/19(火) 22:30:42.82ID:MJol/7NU792デフォルトの名無しさん
2017/12/19(火) 22:30:56.03ID:XIiNWcV9 >>789
余りにも寒いコードを見たものでなw
余りにも寒いコードを見たものでなw
793デフォルトの名無しさん
2017/12/19(火) 22:32:05.29ID:7vxZYYFe VIP患者なら大勢いるねw
794デフォルトの名無しさん
2017/12/19(火) 22:35:08.57ID:ySpyuYdG795デフォルトの名無しさん
2017/12/19(火) 22:38:19.96ID:XIiNWcV9796デフォルトの名無しさん
2017/12/19(火) 22:41:32.93ID:ySpyuYdG797デフォルトの名無しさん
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);
}
}
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だけなら別に必要ないかと。
>>799だけなら別に必要ないかと。
801デフォルトの名無しさん
2017/12/20(水) 05:02:03.39ID:/+M3aR4Y802デフォルトの名無しさん
2017/12/20(水) 05:27:10.69ID:uEdWuAdp ねーな
業務上3000とか4000とか値扱ってる奴のが多いだろ
こういう組み方見るだけでうげっとする
じゃあ、構造を把握するためにクラス図でも見てみよーかって
資料開いた瞬間閉じるわ
業務上3000とか4000とか値扱ってる奴のが多いだろ
こういう組み方見るだけでうげっとする
じゃあ、構造を把握するためにクラス図でも見てみよーかって
資料開いた瞬間閉じるわ
803デフォルトの名無しさん
2017/12/20(水) 06:24:16.03ID:w7lpXa1y プログラムセンスのあるヤツなら最初からやらない間違いで
残念ながら矯正不能なんだわ
残念ながら矯正不能なんだわ
804752
2017/12/20(水) 07:08:03.81ID:FojWkfgf 費目が8個なのでサブクラスに各費目クラスを作ったのですが。。。
サブクラスは何個くらいが適当なのでしょうか
10個超えるとアウトでしょうか
サブクラスは何個くらいが適当なのでしょうか
10個超えるとアウトでしょうか
805752
2017/12/20(水) 07:15:48.78ID:FojWkfgf ちなみに費目をクラスで分けた理由は、費目ごとにちょっと込み入った算出処理をするので、それぞれを閉じ込めておきたいと思いました
でも、費用が最小の粒度の方が一般的な雰囲気ですね
急遽プログラムをやれと言われた人間なのでセンスとか言われると厳しいです
でも、費用が最小の粒度の方が一般的な雰囲気ですね
急遽プログラムをやれと言われた人間なのでセンスとか言われると厳しいです
806デフォルトの名無しさん
2017/12/20(水) 07:35:47.88ID:+xQghQuB807デフォルトの名無しさん
2017/12/20(水) 07:42:10.14ID:uEdWuAdp808752
2017/12/20(水) 07:53:51.41ID:JgbCLwPB >>806
クラス分けしても悪くはないですか
ありがとうございます
ただ、費用の抽象クラスを費用クラスにしてメソッドを各費目算出とすると、メソッドに「費用合計算出」を作っても違和感が無いかなとも思い
プログラムは難しいとしみじみ思いました
クラス分けしても悪くはないですか
ありがとうございます
ただ、費用の抽象クラスを費用クラスにしてメソッドを各費目算出とすると、メソッドに「費用合計算出」を作っても違和感が無いかなとも思い
プログラムは難しいとしみじみ思いました
809デフォルトの名無しさん
2017/12/20(水) 07:59:44.59ID:+xQghQuB810デフォルトの名無しさん
2017/12/20(水) 08:14:04.00ID:XFxcCwxD 業務アプリの設計なんかDFD描いてトランザクションスクリプトでいいよ
開発者全員が相当慣れてない限り、まともなオブジェクト指向でスケールさせるのは現実的に無理
開発者全員が相当慣れてない限り、まともなオブジェクト指向でスケールさせるのは現実的に無理
811デフォルトの名無しさん
2017/12/20(水) 08:17:09.42ID:dzFn8RAE 費目の数が10万!?
ないわー w
ないわー 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:uEdWuAdp815デフォルトの名無しさん
2017/12/20(水) 08:44:55.30ID:apLR0/3w816デフォルトの名無しさん
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:gjQwmCKz820デフォルトの名無しさん
2017/12/20(水) 10:12:49.94ID:IdA1DVd/ 授業でC言語ちょっとやっただけでオブジェクト思考はちっとも理解してないから>>777がそんなに悪いのかわからない
費用ってクラスを使って家賃、光熱費のインスタンスを作るようにしたらいいのか?
費用ってクラスを使って家賃、光熱費のインスタンスを作るようにしたらいいのか?
821デフォルトの名無しさん
2017/12/20(水) 10:28:45.17ID:GdnGy9ZB >>799
sum += hiyo.金額;
エラー CS0019 演算子 '+=' を 'long' と 'メソッド グループ' 型のオペランドに適用することはできません
と出るのですが、正解を教えて下さい。
sum += hiyo.金額;
エラー CS0019 演算子 '+=' を 'long' と 'メソッド グループ' 型のオペランドに適用することはできません
と出るのですが、正解を教えて下さい。
822デフォルトの名無しさん
2017/12/20(水) 10:30:50.20ID:irahYJNV 元の奴が金額がメソッドになってるけど
それはプロパティになってる
というか金額をメソッドにしちゃだめ
元のコードがダメ
それはプロパティになってる
というか金額をメソッドにしちゃだめ
元のコードがダメ
823デフォルトの名無しさん
2017/12/20(水) 10:36:11.97ID:GdnGy9ZB824デフォルトの名無しさん
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:GdnGy9ZB827デフォルトの名無しさん
2017/12/20(水) 10:50:33.77ID:irahYJNV プロパティが自分で書けないならここからコード書いてても無駄だよ
早く勉強しろよ
早く勉強しろよ
828デフォルトの名無しさん
2017/12/20(水) 10:53:01.07ID:hctoYabD >>826
hiyo.金額()
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行で
金額をメソッドにしちゃダメな理由を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:qNzSCdz1842752
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:dzFn8RAE845デフォルトの名無しさん
2017/12/20(水) 12:51:34.80ID:dzFn8RAE >>837
てか、説教してるつもりの奴の方がレベル低いし w
てか、説教してるつもりの奴の方がレベル低いし w
846デフォルトの名無しさん
2017/12/20(水) 12:53:14.86ID:dzFn8RAE >>842
俺は算出って用語をあまり見ないから少し違和感あるけどまあそれで違和感ないならいいんじゃね
俺は算出って用語をあまり見ないから少し違和感あるけどまあそれで違和感ないならいいんじゃね
847デフォルトの名無しさん
2017/12/20(水) 13:49:49.11ID:bqoc1RuE848デフォルトの名無しさん
2017/12/20(水) 13:51:39.57ID:bqoc1RuE やっぱり設計のときにクラス図書かせるべきだな
あまりにも小さい項目いちいちクラスで構えるつもりならそれも全部
クラス図として書いてもらおう
あまりにも小さい項目いちいちクラスで構えるつもりならそれも全部
クラス図として書いてもらおう
849デフォルトの名無しさん
2017/12/20(水) 17:45:30.12ID:dzFn8RAE >>847
だから費目が10万とかはあり得んだろって話
うちの会社はそこそこの規模で結構色々手掛けてるけどそれでも経理関係の費目コードは50ぐらいしかない
当然大分類、中分類、小分類と階層化されてるからそれに合わせて継承させればいい
まあうちの会社の情シスはそこまでやってなくて費目コードを見て分岐してそうだけど w
だから費目が10万とかはあり得んだろって話
うちの会社はそこそこの規模で結構色々手掛けてるけどそれでも経理関係の費目コードは50ぐらいしかない
当然大分類、中分類、小分類と階層化されてるからそれに合わせて継承させればいい
まあうちの会社の情シスはそこまでやってなくて費目コードを見て分岐してそうだけど w
850デフォルトの名無しさん
2017/12/20(水) 17:53:32.28ID:kZMVhJ0h >>849
じゃそれでもいいけど
それだけで50個クラスできるんでしょ?
クラス図どうなるの?クラス50個作るん?
って言いたいわけよ
結局設計ってさ
わかりやすいか
わかりにくいか
だけなんだよね
上下のわからんクラスって粒度を
そんなちっぽけなもんに使うと
全体が見えなくなっちゃうんだよ
費目は少なくてってそれお前の環境がそうってだけの偶然でしょ?
この方針はオススメできないね俺は
まあ、どう組んでも動けばよいのであくまでオススメの域
じゃそれでもいいけど
それだけで50個クラスできるんでしょ?
クラス図どうなるの?クラス50個作るん?
って言いたいわけよ
結局設計ってさ
わかりやすいか
わかりにくいか
だけなんだよね
上下のわからんクラスって粒度を
そんなちっぽけなもんに使うと
全体が見えなくなっちゃうんだよ
費目は少なくてってそれお前の環境がそうってだけの偶然でしょ?
この方針はオススメできないね俺は
まあ、どう組んでも動けばよいのであくまでオススメの域
851デフォルトの名無しさん
2017/12/20(水) 17:57:31.91ID:0mbmAU0+ 50個のクラスができるものをクラス使わずにごちゃ混ぜにしたら余計にわけわからんだろ
こういう話題で数が増えたらどうするの?って反論するやつが必ず現れるけどそれ墓穴掘ってるだけだぞ
こういう話題で数が増えたらどうするの?って反論するやつが必ず現れるけどそれ墓穴掘ってるだけだぞ
853デフォルトの名無しさん
2017/12/20(水) 18:25:24.19ID:AIjICjtT データが構造を持ってしまうと、別の使い方をする時に手間が増えるだけなんだよ
データはデータでクラスにする必要なんかまったく無い
データはデータでクラスにする必要なんかまったく無い
854デフォルトの名無しさん
2017/12/20(水) 18:31:13.93ID:dzFn8RAE >>850
> クラス図どうなるの?クラス50個作るん?
必要なら作るだけだろ
> 上下のわからんクラスって粒度を
> そんなちっぽけなもんに使うと
> 全体が見えなくなっちゃうんだよ
それお前さんの管理能力の問題...
> 費目は少なくてってそれお前の環境がそうってだけの偶然でしょ?
世の中の会計ソフトとか見てみな
もしくは自分の会社の経理担当者に聞けばわかると思うよ
> この方針はオススメできないね俺は
別にお前もそうしろなんて言ってないから勝手にやってなよ
> クラス図どうなるの?クラス50個作るん?
必要なら作るだけだろ
> 上下のわからんクラスって粒度を
> そんなちっぽけなもんに使うと
> 全体が見えなくなっちゃうんだよ
それお前さんの管理能力の問題...
> 費目は少なくてってそれお前の環境がそうってだけの偶然でしょ?
世の中の会計ソフトとか見てみな
もしくは自分の会社の経理担当者に聞けばわかると思うよ
> この方針はオススメできないね俺は
別にお前もそうしろなんて言ってないから勝手にやってなよ
855デフォルトの名無しさん
2017/12/20(水) 18:47:00.16ID:n3mgdNKt >>853
別の使い方する時点で分析設計ミス
別の使い方する時点で分析設計ミス
856デフォルトの名無しさん
2017/12/20(水) 18:56:33.13ID:R/x04Nlq >>854
残念ながら、世の中の会計ソフトなんかほぼ100%トランザクションスクリプトだよ
残念ながら、世の中の会計ソフトなんかほぼ100%トランザクションスクリプトだよ
857デフォルトの名無しさん
2017/12/20(水) 19:01:31.53ID:6oreCn9e858デフォルトの名無しさん
2017/12/20(水) 19:08:20.84ID:dzFn8RAE >>856
なんの話をしてるんだよ w
なんの話をしてるんだよ 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#にはデリゲートがあるんだから、費目で違う処理はコンストラクタで
デリゲート食わせて対応できるし、その上でプロトタイプパターン適用した方が分かりやすいと思うよ。
もちろん費目ごとの固有の処理が費目固有のプロパティに依存するような場合は
継承を使うしかないけどね
せっかくC#にはデリゲートがあるんだから、費目で違う処理はコンストラクタで
デリゲート食わせて対応できるし、その上でプロトタイプパターン適用した方が分かりやすいと思うよ。
もちろん費目ごとの固有の処理が費目固有のプロパティに依存するような場合は
継承を使うしかないけどね
864デフォルトの名無しさん
2017/12/20(水) 21:00:51.80ID:D80mgGFK 費目はクラスじゃなくてデータにするべきものでは在るが、初心者が「そう言われたから」って理由でやるより
何故そうなのかを理解してやるのは悪いことじゃない
自分で考える人を挫くスタイルはあまり感心しないな
何故そうなのかを理解してやるのは悪いことじゃない
自分で考える人を挫くスタイルはあまり感心しないな
865デフォルトの名無しさん
2017/12/20(水) 21:05:35.30ID:n3mgdNKt 種類によって振る舞いが違うって要件なのにデータで扱うとか呆れるわ
どんだけswitchする気だよ
どんだけswitchする気だよ
866デフォルトの名無しさん
2017/12/20(水) 21:15:55.31ID:dxH3+214 > 自分で考える人を挫くスタイルはあまり感心しないな
マウントしたいだけやろ
今回は質問者の方がレベル高いからアホみたいなことになってるけど w
マウントしたいだけやろ
今回は質問者の方がレベル高いからアホみたいなことになってるけど w
867デフォルトの名無しさん
2017/12/20(水) 21:16:44.49ID:R/x04Nlq868デフォルトの名無しさん
2017/12/20(水) 21:22:03.45ID:n3mgdNKt869デフォルトの名無しさん
2017/12/20(水) 21:33:44.71ID:6oreCn9e870デフォルトの名無しさん
2017/12/20(水) 21:35:40.32ID:R/x04Nlq871デフォルトの名無しさん
2017/12/20(水) 21:49:04.68ID:ie4nb91k 費用と言っても材料費、人件費、、減価償却費、貸倒引当金など性格や扱いの異なるものを同じ基底から派生させるのはどだい無理がある
集計したいだけなら金額を取得するインターフェイスを実装する方が賢い
集計したいだけなら金額を取得するインターフェイスを実装する方が賢い
872デフォルトの名無しさん
2017/12/20(水) 22:10:01.13ID:n3mgdNKt873デフォルトの名無しさん
2017/12/20(水) 22:10:03.47ID:WriG98aZ List〈string[]〉の型をstring[]の特定の列をキーにしてソートしたいんですけど
List.Sort(x => x[1]);
のような書き方はできないのでしょうか?
List〈class〉を用意するしかないのでしょうか?多分Listの中の配列にもLINQ使えそうなんですが・・・
テストで試しに動かしたいだけなのにわざわざclassを書くのが大変なので・・・
List.Sort(x => x[1]);
のような書き方はできないのでしょうか?
List〈class〉を用意するしかないのでしょうか?多分Listの中の配列にもLINQ使えそうなんですが・・・
テストで試しに動かしたいだけなのにわざわざclassを書くのが大変なので・・・
874デフォルトの名無しさん
2017/12/20(水) 22:18:17.41ID:gjQwmCKz875デフォルトの名無しさん
2017/12/20(水) 22:26:57.08ID:6oreCn9e >>872
でもさ
クラス図書いたら君のはこんなくだらない処理でクラスが50個も並んでるんだぜ
どの辺がいいプログラムなの?
他のも合わせれば5-600は行くんじゃない?
正しいクラス図なんて一度も書いたことないっしょ?
おそらく資料見てもこのクラスは記述があるけどこのクラスは記述がないなぁ
ってもんを平気で作っちゃうでしょ?
でもさ
クラス図書いたら君のはこんなくだらない処理でクラスが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のインデックス指定して使うのは無理なんでしょうか?
OrderByも試したんですがこのラムダ式だと意図した動作にならないです
とりあえずList〈class〉で素直に書いてみますが、ラムダ式のキーに配列やListのインデックス指定して使うのは無理なんでしょうか?
878デフォルトの名無しさん
2017/12/20(水) 22:33:13.38ID:GdnGy9ZB879デフォルトの名無しさん
2017/12/20(水) 22:35:03.12ID:QInM5P3Y 意図した動作にならないのをバグっていうんだと思いますw
880デフォルトの名無しさん
2017/12/20(水) 22:36:47.64ID:6oreCn9e881デフォルトの名無しさん
2017/12/20(水) 22:40:38.82ID:D80mgGFK882デフォルトの名無しさん
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);
と同じ動作にしたいということです
ちょっと説明不足してたので補足
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]));
ではダメなんですか?
そこが分からない人はいないと思うよ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ね
IntegerじゃなくてInt32ね
885デフォルトの名無しさん
2017/12/20(水) 22:59:37.49ID:WriG98aZ886デフォルトの名無しさん
2017/12/20(水) 23:03:12.47ID:n3mgdNKt887デフォルトの名無しさん
2017/12/20(水) 23:06:38.88ID:QInM5P3Y >>885
classってのが何のことかよくわからないけど、OrderByの方使ってる?
LINQのメソッドはコレクションをのものを並び替えるのではなくて
並び替えた列挙オブジェクトを返すんだけど、そこを誤解してるなんてオチではなくて?
classってのが何のことかよくわからないけど、OrderByの方使ってる?
LINQのメソッドはコレクションをのものを並び替えるのではなくて
並び替えた列挙オブジェクトを返すんだけど、そこを誤解してるなんてオチではなくて?
888デフォルトの名無しさん
2017/12/20(水) 23:17:47.14ID:dFGD4M7x889デフォルトの名無しさん
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は直接並び替えてるので前の状態も欲しい場合は事前にコピーしておくかな
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:WriG98aZ891デフォルトの名無しさん
2017/12/20(水) 23:26:14.46ID:WriG98aZ >>889
あぁToList()を忘れてました
あやふやな記憶で使っててToList()使うって教わったのにすっかり忘れてました
型の返り方の説明見て、正しい扱い方覚えないといけないですねすいません
ICollectionみたいなやつとか、抽象化されてるからToListでListに明示的に変換しないとあかんやつでした
あぁToList()を忘れてました
あやふやな記憶で使っててToList()使うって教わったのにすっかり忘れてました
型の返り方の説明見て、正しい扱い方覚えないといけないですねすいません
ICollectionみたいなやつとか、抽象化されてるからToListでListに明示的に変換しないとあかんやつでした
892デフォルトの名無しさん
2017/12/20(水) 23:29:58.52ID:Xe3ly/H6 >>890
てかその構造のデータをstring[]で扱わなきゃいけない理由が何かあんの?
てかその構造のデータを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使ってるので楽ですけどね
試しにデータ群扱う時にclass宣言したり、大量のデータを型分けするのがめんどいからこういう扱い方できると楽ってだけですね
この使い方ならcsv形式にsplitでListぶち込むだけでやれるので宣言項目少なくてテストするなら楽ってだけです
DBから持って来るときは文字列型じゃなければToStringかけたりとかありそうですが
最近はEF使ってるので楽ですけどね
895デフォルトの名無しさん
2017/12/20(水) 23:38:15.25ID:nn3v7K50 Kotlin では、ある列の値で、レコードをソートするのは以下。
年齢・名前でソートする
https://mevius.5ch.net/test/read.cgi/tech/1509462463/18
年齢・名前でソートする
https://mevius.5ch.net/test/read.cgi/tech/1509462463/18
896デフォルトの名無しさん
2017/12/20(水) 23:44:31.66ID:Xe3ly/H6 >>894
Visual Studioならjsonからクラスを自動生成できるからクラスの方が扱いやすいけどね。stringとHashtableまみれのコードとか絶対メンテできない…
Visual Studioならjsonからクラスを自動生成できるからクラスの方が扱いやすいけどね。stringとHashtableまみれのコードとか絶対メンテできない…
897デフォルトの名無しさん
2017/12/20(水) 23:49:35.45ID:WriG98aZ898デフォルトの名無しさん
2017/12/21(木) 00:47:58.94ID:HdSqx1Ax http://yossk.hatenablog.com/entry/2015/02/23/070546
ここの「4-3散在する情報」のサンプルコード
川俣晶の本からのコピーなんだけど
Runメソッド内で値設定したあと
CalcDistメソッド先頭で値をリセットしてるから
常に計算結果0になるように見えるんだけど
なんか俺読み間違えてる?
ここの「4-3散在する情報」のサンプルコード
川俣晶の本からのコピーなんだけど
Runメソッド内で値設定したあと
CalcDistメソッド先頭で値をリセットしてるから
常に計算結果0になるように見えるんだけど
なんか俺読み間違えてる?
899デフォルトの名無しさん
2017/12/21(木) 00:54:31.04ID:h7wsiOnr たしかに
900デフォルトの名無しさん
2017/12/21(木) 03:28:09.32ID:3KOuKcBo901デフォルトの名無しさん
2017/12/21(木) 05:44:12.11ID:/dR3YALD902デフォルトの名無しさん
2017/12/21(木) 06:04:58.06ID:gZ1XcqWP903デフォルトの名無しさん
2017/12/21(木) 06:50:24.48ID:/eYbpg/S オブジェクト指向は物事を複雑にするためにあるモノじゃ無いぞ。
オブジェクト指向を目的にしてどうするwww
オブジェクト指向を目的にしてどうするwww
904デフォルトの名無しさん
2017/12/21(木) 06:50:56.44ID:c0/BZHI9 動く動かないとセンスの有無は別の話
理解力無さすぎだろ w
理解力無さすぎだろ w
905デフォルトの名無しさん
2017/12/21(木) 06:56:56.39ID:/eYbpg/S どの世界でも原理主義者は物事を複雑にするw
906デフォルトの名無しさん
2017/12/21(木) 06:57:03.08ID:gZ1XcqWP907デフォルトの名無しさん
2017/12/21(木) 07:00:31.05ID:gZ1XcqWP クラス図書かないやつは客観的に自分の設計を見ることができない
だからこんなプロパティ単位のものクラスにして
クラス図を蜘蛛の巣にしちゃっても
それを汚いと反省する機会がない
ただし、どう組んでも動くのであくまで俺の持論
だからこんなプロパティ単位のものクラスにして
クラス図を蜘蛛の巣にしちゃっても
それを汚いと反省する機会がない
ただし、どう組んでも動くのであくまで俺の持論
908752
2017/12/21(木) 07:13:38.51ID:RBSPw/d+ 費用クラスの者ですが、色々なアドバイスありがとうございます
参考になります
>>902
どう組んでも動くの精神で、前任のパートさんが凄いの組んでくれたので、オブジェクト指向を意識し始めました
クラスどころかイベントリスナーのメソッドというのでしょうか?
そこから共通関数すらなく処理されているので、なんとかしたかったのです
ドメイン層とアプリ層とインフラ層が渾然一体となっていると、どう手を付けて良いのやら
参考になります
>>902
どう組んでも動くの精神で、前任のパートさんが凄いの組んでくれたので、オブジェクト指向を意識し始めました
クラスどころかイベントリスナーのメソッドというのでしょうか?
そこから共通関数すらなく処理されているので、なんとかしたかったのです
ドメイン層とアプリ層とインフラ層が渾然一体となっていると、どう手を付けて良いのやら
909デフォルトの名無しさん
2017/12/21(木) 07:25:44.67ID:Mqu0aN7Q 必要最低限だけ修正しろ
コードのきれいさは主観
他人のコードはすべて糞コード
コードのきれいさは主観
他人のコードはすべて糞コード
910デフォルトの名無しさん
2017/12/21(木) 07:27:47.47ID:gZ1XcqWP911デフォルトの名無しさん
2017/12/21(木) 07:42:54.80ID:iiESRPBo と、プロパティ単位とか意味不明のことをつぶやいており当局は措置入院の必要性があると判断している模様です
912デフォルトの名無しさん
2017/12/21(木) 07:56:29.75ID:h7wsiOnr >>908
おまえ本当に未経験者かよwww
おまえ本当に未経験者かよ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:VQD1Tiju917デフォルトの名無しさん
2017/12/21(木) 08:40:09.55ID:VQD1Tiju918デフォルトの名無しさん
2017/12/21(木) 08:54:24.69ID:upKQQwHx 最近クラス図キチガイが湧いてるな
919デフォルトの名無しさん
2017/12/21(木) 09:04:04.27ID:VQD1Tiju920デフォルトの名無しさん
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:VQD1Tiju923デフォルトの名無しさん
2017/12/21(木) 10:41:24.50ID:VXvVb2gy >>805
>急遽プログラムをやれと言われた人間なのでセンスとか言われると厳しいです
>急遽プログラムをやれと言われた人間なのでセンスとか言われると厳しいです
924デフォルトの名無しさん
2017/12/21(木) 12:03:45.23ID:Q/EvmKMe925デフォルトの名無しさん
2017/12/21(木) 12:50:57.69ID:iiESRPBo926752
2017/12/21(木) 12:55:56.30ID:Bs03k3IZ >>923
急遽と言っても半年以上OJTの形で作っているので、変数、関数、クラスが何なのか程度は理解しています
で、費用と費目は抽象クラスを使うのに絶好の課題ではと初めて使ってみて、世間様ではどう思われるか聞いてみたら、そんな関係には使わないと指摘された次第です
急遽と言っても半年以上OJTの形で作っているので、変数、関数、クラスが何なのか程度は理解しています
で、費用と費目は抽象クラスを使うのに絶好の課題ではと初めて使ってみて、世間様ではどう思われるか聞いてみたら、そんな関係には使わないと指摘された次第です
927752
2017/12/21(木) 13:00:11.33ID:Bs03k3IZ ズブの素人でも手続き型プログラムを一ヶ月で作れるようになったのは、visual studioの支援とC#の解りやすさのおかげだと感謝してます
ゆえに急遽突っ込まれたのかも知りませんが
ゆえに急遽突っ込まれたのかも知りませんが
928デフォルトの名無しさん
2017/12/21(木) 13:29:10.16ID:WNlCIVzg >>926
結局ね、データってのはDBに保存したり手で入力したりするものなので
データごとにクラスが変わったりすると破綻するんですよ
クラス分けは集計には便利かもしれんが、全ての工程でどうなるか考えて設計しないとね
結局ね、データってのはDBに保存したり手で入力したりするものなので
データごとにクラスが変わったりすると破綻するんですよ
クラス分けは集計には便利かもしれんが、全ての工程でどうなるか考えて設計しないとね
929デフォルトの名無しさん
2017/12/21(木) 13:38:55.98ID:xinkvf3y930752
2017/12/21(木) 17:30:18.01ID:68OBjHX8 >>929
最初の二ヶ月は前任の人が引き継ぎ兼トレーニングしてくれたのでブートは早かったと思います
そこから半年でやっと継承を触ったので、成長曲線はそこまで急では無いかと
比較が解らないですが仮に成長が早いとするとC#が非常に取っ付きやすかったのが大きいと思います
基本情報試験のアルゴリズムとかさっぱり解らないので、プログラム能力は経験相応に低いと思います
最初の二ヶ月は前任の人が引き継ぎ兼トレーニングしてくれたのでブートは早かったと思います
そこから半年でやっと継承を触ったので、成長曲線はそこまで急では無いかと
比較が解らないですが仮に成長が早いとするとC#が非常に取っ付きやすかったのが大きいと思います
基本情報試験のアルゴリズムとかさっぱり解らないので、プログラム能力は経験相応に低いと思います
931752
2017/12/21(木) 17:42:42.42ID:68OBjHX8 >>913
PM交え前任者とコードレビューをしましたが、三項演算子とLINQは見難いと指摘されました
手続き型より宣言型のが良いとネットで見たのですが
逆に前任者が書いた4重ネストのfor文にifelseが連ねてあるコードはいくら頭をひねっても理解できず
数字の動きはステップ実行で見れるのですが、だから何って感じになります
ゆえに知識を整理したくなり初めて抽象クラスを意識した次第です
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)
archive.isに定期的にアーカイブさせるプログラムです
https://dotup.org/uploda/dotup.org1417700.zip.html 👀
Rock54: Caution(BBR-MD5:1322b9cf791dd10729e510ca36a73322)
935デフォルトの名無しさん
2017/12/21(木) 18:12:09.40ID:Tz1RNGN4936デフォルトの名無しさん
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/EvmKMe940デフォルトの名無しさん
2017/12/21(木) 19:09:52.65ID:Tz1RNGN4941デフォルトの名無しさん
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:Ate4yeHH945デフォルトの名無しさん
2017/12/21(木) 19:46:25.90ID:iwfbZ4kw 意味なく一行が長いのを見るとどんなエディタで書いてるんだろうかと思う
あとは一行でつなぎまくってるのを見るとデバッグがめんどくさいだろうなと思う
あとは一行でつなぎまくってるのを見るとデバッグがめんどくさいだろうなと思う
946デフォルトの名無しさん
2017/12/21(木) 19:47:38.41ID:Tz1RNGN4947デフォルトの名無しさん
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:iwfbZ4kw950デフォルトの名無しさん
2017/12/21(木) 19:58:12.75ID:HqNyhY75 >>933
小さなクラスが大量に並ぶのがオブジェクト指向の正解
小さなクラスが大量に並ぶのがオブジェクト指向の正解
951デフォルトの名無しさん
2017/12/21(木) 20:10:11.41ID:YYEMhcfN952デフォルトの名無しさん
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://hebi.5ch.net/test/read.cgi/news4vip/1513837259/
http://hebi.5ch.net/test/read.cgi/news4vip/1513837259/
955デフォルトの名無しさん
2017/12/21(木) 20:21:08.11ID:YYEMhcfN956デフォルトの名無しさん
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:HqNyhY75959デフォルトの名無しさん
2017/12/21(木) 20:33:40.96ID:YYEMhcfN960デフォルトの名無しさん
2017/12/21(木) 20:41:22.00ID:YYEMhcfN961デフォルトの名無しさん
2017/12/21(木) 20:46:30.90ID:HqNyhY75 >>959
手間がかかるから変更に弱いという考え方しかないのか?
ショートコーディングが至高ならC#じゃなくてスクリプト言語やった方がいいぞ
コード修正におけるOOPのメリットはタイプ量や作業量の少なさじゃ断じてない
わかりやすく整理されたコードをわかりやすさを維持したまま変更できることがメリットな
そりゃこだわらなきゃ手短に修正することは簡単だよ
例えばちょっとしたフラグ変数やif文を追加すればクラス構成を変えずに素早く修正して目の前の問題を解決することはできる
ローカルな修正だからドキュメントの修正も軽微で済むかもしれん
でもそれを積み重ねていくと気が付いた時にはもう手に負えなくなってしまうんだよ
手間がかかるから変更に弱いという考え方しかないのか?
ショートコーディングが至高ならC#じゃなくてスクリプト言語やった方がいいぞ
コード修正におけるOOPのメリットはタイプ量や作業量の少なさじゃ断じてない
わかりやすく整理されたコードをわかりやすさを維持したまま変更できることがメリットな
そりゃこだわらなきゃ手短に修正することは簡単だよ
例えばちょっとしたフラグ変数やif文を追加すればクラス構成を変えずに素早く修正して目の前の問題を解決することはできる
ローカルな修正だからドキュメントの修正も軽微で済むかもしれん
でもそれを積み重ねていくと気が付いた時にはもう手に負えなくなってしまうんだよ
962デフォルトの名無しさん
2017/12/21(木) 20:51:53.83ID:HqNyhY75 >>960
コードの綺麗さは計量可能
常識的なことだぜ
人間を見なければ成長しない(キリッ)なんて意識高いっぽいけど意味不明な戯言を言う前に
まずは君の仕事を人並みにこなせるように基本的なことを勉強しなよ
コードの綺麗さは計量可能
常識的なことだぜ
人間を見なければ成長しない(キリッ)なんて意識高いっぽいけど意味不明な戯言を言う前に
まずは君の仕事を人並みにこなせるように基本的なことを勉強しなよ
963デフォルトの名無しさん
2017/12/21(木) 20:52:40.67ID:Mqu0aN7Q そんなことはない
オブジェクト指向はケースによって処理ががらっと変わるような場合の対処は得意だが
細部が細かいルールでちょこちょこ変わるようなのは大の苦手だ
おとなしくIF文使ったほうがいいケースはたくさんある、というかそっちが普通
あとフラグ変数まみれになるのはたぶんOOP以前に構造化プログラムができてない
オブジェクト指向はケースによって処理ががらっと変わるような場合の対処は得意だが
細部が細かいルールでちょこちょこ変わるようなのは大の苦手だ
おとなしく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:Ate4yeHH967デフォルトの名無しさん
2017/12/21(木) 21:05:03.60ID:iByWYmKo968デフォルトの名無しさん
2017/12/21(木) 21:06:20.65ID:HqNyhY75 >>963
細部の修正はOOPの場合、メソッド内とかクラス内で完結するから、非常にやりやすい
苦手どころかむしろ得意な分野
手続き型だと逆に、同じ処理があちこちに分散する傾向があるから、些細な修正が思ったよりも広範囲で大規模な修正になることが少なくないね
つうかまるでOOPではif文を全く使わないように聞こえるのが気になったな
クラス内では普通に使うぞ
細部の修正は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:YYEMhcfN972デフォルトの名無しさん
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:YYEMhcfN976デフォルトの名無しさん
2017/12/21(木) 21:43:02.15ID:giWx2kxQ977デフォルトの名無しさん
2017/12/21(木) 21:48:19.96ID:giWx2kxQ978デフォルトの名無しさん
2017/12/21(木) 21:52:35.91ID:Q/EvmKMe >>976
いろいろ語るに落ちてるね。
こういう人ってARGBの組み合わせの数だけクラス作るのかなw
処理もデータと同じで変数に代入して柔軟に交換可能であるなんて
発想はCの時代からあるし、高度なテクニックでも何でもないけど、
この程度のことを理解してないから「自称上級者のうぬぼれテク」に見えちゃうんだろうね
いろいろ語るに落ちてるね。
こういう人ってARGBの組み合わせの数だけクラス作るのかなw
処理もデータと同じで変数に代入して柔軟に交換可能であるなんて
発想はCの時代からあるし、高度なテクニックでも何でもないけど、
この程度のことを理解してないから「自称上級者のうぬぼれテク」に見えちゃうんだろうね
979デフォルトの名無しさん
2017/12/21(木) 21:56:22.73ID:HqNyhY75 >>975
そりゃするよ
1変数のクラスは超重要なものだ
オブジェクト指向では絶対に欠かせないツール
1つの文字列変数を持った注文番号クラス
1つの数値変数を持った金額クラス
1つの日付変更を持った出荷予定日クラス
などなど
僕たちがプログラムで扱うものはただの文字列や数値や日付じゃあないんだ
そこをしっかりと認識してほしいね
そりゃするよ
1変数のクラスは超重要なものだ
オブジェクト指向では絶対に欠かせないツール
1つの文字列変数を持った注文番号クラス
1つの数値変数を持った金額クラス
1つの日付変更を持った出荷予定日クラス
などなど
僕たちがプログラムで扱うものはただの文字列や数値や日付じゃあないんだ
そこをしっかりと認識してほしいね
980デフォルトの名無しさん
2017/12/21(木) 21:56:29.51ID:VaR9+Vl3 char *p;
p = 0;
*p = 0;
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:h7wsiOnr984デフォルトの名無しさん
2017/12/21(木) 23:30:24.92ID:oDUVChgl 大学入試程度の数学をよく理解できない人がいるのと同じように
オブジェクト指向を理解できない人ってどうしてもいるわけで
それはしかたがないことなのかもしれないね
オブジェクト指向を理解できない人ってどうしてもいるわけで
それはしかたがないことなのかもしれないね
985デフォルトの名無しさん
2017/12/21(木) 23:38:52.52ID:HqNyhY75986デフォルトの名無しさん
2017/12/21(木) 23:52:44.06ID:+ZpzqfgR ワードサラダとあんまり変わらんな
987デフォルトの名無しさん
2017/12/22(金) 00:24:55.67ID:sp7ymsVp >>978
> こういう人ってARGBの組み合わせの数だけクラス作るのかなw
意味わからん
> この程度のことを理解してないから「自称上級者のうぬぼれテク」に見えちゃうんだろうね
いや、必要もないのにドヤッてるから自称上級者とかバカにされてるだけ w
> こういう人ってARGBの組み合わせの数だけクラス作るのかなw
意味わからん
> この程度のことを理解してないから「自称上級者のうぬぼれテク」に見えちゃうんだろうね
いや、必要もないのにドヤッてるから自称上級者とかバカにされてるだけ w
988デフォルトの名無しさん
2017/12/22(金) 00:30:23.73ID:SpQ4O+yi989デフォルトの名無しさん
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
一部の自称上級者様が頓珍漢なネタでドヤッてるだけ w
992デフォルトの名無しさん
2017/12/22(金) 01:29:42.45ID:agnD/jLF993デフォルトの名無しさん
2017/12/22(金) 01:33:36.39ID:agnD/jLF なんかメリットあるのかよと
単にプログラム記述上のお前の勝手な都合だけだろw
単にプログラム記述上のお前の勝手な都合だけだろ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でも多態でも何でもないよ
普通費目って聞いたら費目ごとに異なる処理(具体的な価格を計算するメソッド?)
はせいぜい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秒
新しいスレッドを立ててください。
life time: 23日 5時間 0分 1秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 【速報】江別大学生集団暴行死 川村葉音被告に懲役30年、瀧澤海裕被告に懲役20年の判決 [おっさん友の会★]
- 【W杯】韓国が南アに敗退 3位でGL終了 ラウンド32進出は他試合結果次第に 3連勝メキシコが首位&南アフリカが初の決勝Tへ ★3 [阿弥陀ヶ峰★]
- 【速報】 ベネズエラでM7超地震、死者数は最大10万人にのぼる可能性、大統領代行が非常事態宣言 [お断り★]
- 【米紙報道】高市首相「コングレッショナルフェロー(官職)」経歴詐称疑惑… ★6 [BFU★]
- 「たばこのポイ捨てをしちゃだめだよ」男児に注意され激高、自転車を投げつけ現行犯逮捕 神奈川 [少考さん★]
- 「クチャラーがどうしても嫌」「寿司店で鼻をすする人が」…注意しにくい“音ハラ”「音が幻聴になりうつ病に発展する場合も」専門家 [少考さん★]
- 【MLB】ツインズ vs ドジャース ★7
- 【地上波/DAZNほか】 FIFAワールドカップ2026 総合スレ★177【メキシコ/カナダ/アメリカ】
- ハム専 ★7
- はません ★2
- 巨専】
- こいせん 全レス転載禁止
- 中国で逮捕された富士電機社員、ダミー製品にレアアースを埋め込み日本に輸出したあと抜き取るせこいことをやってたとバラされるw [709039863]
- 【悲報】「晋バルサン」Xでガチで大炎上してしまう🔥wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww [175344491]
- 【速報】北海道江別市集団暴行盗致死事件・川村葉音被告、死刑でも無期でもなく懲役30年判決 [591180291]
- JA「もう倉庫に入らない」新米が倉庫に入りきらず悲鳴🤭 [993451824]
- 【緊急】美大の友達から「ヌードデッサンモデル」のバイトに誘われたんやが…
- 累積赤字500億円クールジャパン2「税金34兆円をアニメとかにつっこむ。政府、警察、自衛隊批判は許さない」 [633746646]