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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2018/03/03(土) 15:09:05.75 ID:SBEkwl3H.net]
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

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

■関連スレ
C#, C♯, C#相談室 Part95
mevius.5ch.net/test/read.cgi/tech/1508180530/
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part135
mevius.5ch.net/test/read.cgi/tech/1517749348/

■コードを貼る場合は↓を使いましょう。
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
referencesource.microsoft.com/
-
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured

2 名前:デフォルトの名無しさん mailto:sage [2018/03/03(土) 18:09:05.02 ID:T0Do3u+2.net]
>>1
放置してると落ちるんでね?

3 名前:デフォルトの名無しさん mailto:sage [2018/03/03(土) 19:55:41.98 ID:kXsLgfSK.net]
いちおつ!

4 名前:デフォルトの名無しさん [2018/03/04(日) 08:49:14.26 ID:Jnf3+hM1.net]
invokeの意味がよく分からない。
別のスレッドからUIのコントロールを触るには、手順が必要でそれをInvokeを通すとちゃんとやってくれる
ということらしい。
疑問1:手順を踏まないと駄目なのはFormに貼り付けたコントロールだけなのか?
これは「コントロールはスレッドセーフじゃない」と同義のことか?

疑問2:一般的なクラスやListデータはスレッドセーフなのか?
 例えば、100kバイトの受信データが常時更新されているとする。これをメインスレッドにコピーするときに
半分程度コピーしたときに、次の受信割り込みでスレッドが切り替わって上書きされるなんてことは起きないのか?
スレッドの切り替えはOSが勝手にやるんだから、これは当然起きてしまいそうな気がするんだが、防ぐ手立ては
あるんか?

5 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 09:32:08.73 ID:fUFxJxoP.net]
>>4
>手順を踏まないと〜
いいや、作成したコントロールすべて
>これは「コントロールは〜
スレッドセーフ性についてはリファレンスに書いてあるのでお読みください
勝手に判断していいことは何もない
https://msdn.microsoft.com/ja-jp/library/system.windows.forms.control(v=vs.110).aspx

6 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 09:37:54.15 ID:fUFxJxoP.net]
>疑問2
個々のクラスのスレッドセーフ性については、使用するクラスのリファレンスを参照
スレッドセーフなコレクションクラス群というのも提供されている
https://docs.microsoft.com/ja-jp/dotnet/standard/collections/thread-safe/

スレッドセーフでないクラスをスレッドセーフに扱いたいのであれば自分でその機能を実装する必要がある
その際はlockステートメントやAutoResetEventクラスなどが役に立つだろう

7 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 09:43:21.26 ID:fUFxJxoP.net]
どうやって実装するかに関しては
一般的なスレッドセーフプログラミングのガイドに従うが
あまりにも広範すぎるのでここには記載しない

手っ取り早くはラッパクラスを書き、
ラッパクラスのプライベートなインスタンス変数にロックオブジェクトを確保し
すべてのメソッドの入り口でロックを取ってしまうことである

8 名前:デフォルトの名無しさん [2018/03/04(日) 10:16:01.96 ID:Jnf3+hM1.net]
>>5
こいつらだけがスレッドセーフでそれ以外はセーフじゃない。
M:System.Windows.Forms.Control.BeginInvoke(System.Delegate),
M:System.Windows.Forms.Control.EndInvoke(System.IAsyncResult),
M:System.Windows.Forms.Control.Invoke(System.Delegate),
P:System.Windows.Forms.Control.InvokeRequired,
and M:System.Windows.Forms.Control.CreateGraphics(ただしすでにハンドルが生成されていること)
ハンドルがクリエイトされる前のバックグラウンドでの.Forms.Control.CreateGraphicsスレッド
の呼び出しは問題をひきおこす。

って書いてあるので、まあそういうことなんだな。
セーフじゃないのは解ったが、スレッドが何処で切り替わるかが問題だな。
少なくともInvoke中は切り替わらないから、Invokeに渡

9 名前:キDelegateにガッサリとほりこんでやれば絶対に
安全ってことでいいのだな。
 それなら別にLockもへったくれもいらない。なんも難しくないな。
[]
[ここ壊れてます]

10 名前:デフォルトの名無しさん [2018/03/04(日) 10:18:39.61 ID:Jnf3+hM1.net]
>一般的なスレッドセーフプログラミングのガイドに従うが あまりにも広範すぎるのでここには記載しない

いったいどう広範なんだ? Lockしたら終わりだろ。変数の書き換え中に切り替わらんなら何も問題ないはずだよな。



11 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 10:21:36.77 ID:kbKww4G0.net]
頭悪そうだから死んだ方が早いよw
頑張って

12 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 10:26:47.18 ID:P1djYTMd.net]
ID:Jnf3+hM1は例のアホだろ。相手すると有害

13 名前:デフォルトの名無しさん [2018/03/04(日) 10:27:55.49 ID:Jnf3+hM1.net]
Lock(object)
馬鹿っぽいのはこっちだな。なんでObjectでロックする必要があるんだよ。単にラベルでいいだろ。
Lock(name)
なんかサンプルにしろ説明にしろ難しそうに見せたがるんだよな。賢そうに見せたいんだろうな。要するに
賢くないってことだな。

14 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 10:28:25.45 ID:fUFxJxoP.net]
ああ一昨日くらいにTaskでギャーギャー喚いていた人でしたか
気付かず相手をしてしまいました
申し訳ありませんでした

15 名前:デフォルトの名無しさん [2018/03/04(日) 10:31:50.77 ID:Jnf3+hM1.net]
素人の簡単な質問に答えられないで、解った振りをするのは良くないぞ。

16 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 10:35:45.11 ID:1sQ1Awq8.net]
なんでワッチョイにしなかったの?
今更IDでNGとか面倒だわ

17 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 10:58:16.52 ID:AyWkuyS0.net]
>>15
忘れてた
次スレ作成機能でワッチョイ引き継がれないんだよ

18 名前:デフォルトの名無しさん [2018/03/04(日) 11:02:22.21 ID:Jnf3+hM1.net]
スレッドセーフについては
www.atmarkit.co.jp/ait/articles/0505/25/news113_3.html
ここが詳しい。これは頭のいい説明だからすぐわかる。
要するにロックすればいいのだが、あたりかまわずロックするとかなり負荷が
かかるので少し工夫がいるということだな。別に難しいことはなにもない。

19 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 11:47:26.08 ID:ARj8S9qu.net]
>>12
お子様なら他へ行った方がいい
成人なら本当の意味でコミュニケーション障害
はっきりいうとおまえとは会話ができない

20 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 14:20:47.53 ID:WBzCvYNu.net]
どーせ、下でSendMessage, PostMessageがアドレス渡してるだけ



21 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 14:42:13.81 ID:uAAm/7vQ.net]
質問です。

class A
class B : A
class C : A
class D : A

のような感じでAを継承するクラスがいつくかあったとき、Aの関数に

public A Copy()
{
return new BとかCとかD;
}

みたいな感じで、Aから自分が今なんのクラスなのかを見て
B・C・Dを生成することはできないのでしょうか?

22 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 15:00:25.90 ID:TuLIeqFr.net]
>>20
if(this is B){return B}
みたいな感じでできると思うよ
普通はvirtualメソッドにして派生先でoverrideするのが普通だと思うけど

23 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 15:27:46.44 ID:uAAm/7vQ.net]
>>21
ありがとうございます。
クラスが増えるたびにAに分岐を追加するより、派生先で実装しようと思います。

24 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 19:13:35.42 ID:u0JZMqVO.net]
>>12
多分Lockを誤解してる

わざとどうでもいい名前にしてあると言うことを理解してないな

25 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 19:59:17.54 ID:nPEAVJyb.net]
触るなって言ってんだろテメーも脳に障害おってんのか可哀想にな

26 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 20:04:25.17 ID:u0JZMqVO.net]
老害のお爺さんがかわいそうだ

27 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 23:57:01.35 ID:WQz+5Gha.net]
質問があります。
.NET標準のChartコントロールなんですけど、
大量のデータ(50000件くらい)を表示してから
そのChartの上をブラウザとかエクスプローラとかを横切らせたら
Chart上に残像みたいなのができて(ちょっと時間が経ったら正常に表示される)
物凄い重いんですけど直す方法ってあるんですか?

28 名前:デフォルトの名無しさん [2018/03/05(月) 03:26:06.68 ID:FmqsFfvf.net]
>多分Lockを誤解してる
>わざとどうでもいい名前にしてあると言うことを理解してないな

そこだな。「どうでもいい」のが名前の性質だ。ここは「どうでもいい」ということが重要だ。だからこそどうでもいい
名前にしないといけない。Objectである必要はないし、そういう制約をつけるのは間違いだ。そこのところを理解していないと思う。

29 名前:デフォルトの名無しさん [2018/03/05(月) 03:31:44.01 ID:FmqsFfvf.net]
>>26
Chartなんてそんなに大量に表示する物と違うだろ。だったら代表値にしてデータ量を
圧縮するとか見せ方を工夫すればいい。

30 名前:デフォルトの名無しさん [2018/03/05(月) 03:47:59.98 ID:FmqsFfvf.net]
田舎者は総じて優しいが、村にそぐわないと判断すると突然ブチ切れて仲間を募って村八分を宣告する。
ネット上に田舎者が多いのはやむえない。ああもう朝だ。寝よう。



31 名前:デフォルトの名無しさん [2018/03/05(月) 10:31:47.99 ID:g6xeuprT.net]
>>29
何一人でブチ切れてるんだ
田舎者か?

32 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 10:53:45.02 ID:NW7TavUN.net]
>>28
なるほど
どうもです^^

33 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 13:58:03.66 ID:cH/DYV+T.net]
>>30
触るなって言ってんだろ田舎者のバーコードハゲ

34 名前:デフォルトの名無しさん [2018/03/05(月) 14:29:39.76 ID:LOGBc36P.net]
すまんが、.netってパスワードを安全に保管するためのストアは用意されてるの?

35 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 15:12:32.80 ID:kyU90biE.net]
パスワードをローカルに保管するという発想そのものが本質的に間違っているからそんなものはないよ
ハッシュ値だけ平文で保管して、パスワード原本は速攻で捨てろ

36 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 15:27:45.97 ID:VUFW/DdR.net]
別に間違っちゃいないw

多少のリスクより利便性を選択する人がいてもいいし、そういう人に倒して
「お前は意識が低い」なんて言うのは独善的で傲慢だ

37 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 15:45:24.35 ID:JEjkThv5.net]
原本のパスワード保存しちゃうのは流石に行儀が悪いにゃ

38 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 15:56:42.33 ID:VUFW/DdR.net]
それはただの思い込み

そんなこと言ったらローカルどろろかクラウドにパスワードするChromeやFirefoxは
もっとお行儀悪いよ

現実問題、個人のPCがハッキングされる可能性なんか交通事故よりはるかに低いし、
その上暗号化されたパスワードがたまたま見つかってたまたま解析される可能性なんかもっと低い

39 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 16:25:46.24 ID:ThW050h/.net]
FFFTP「だよね〜」

40 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 16:52:28.49 ID:1eWHTsKF.net]
どういう脅威に対してどの程度の安全性が必要なのか次第で対策が違う
PasswordValutだってある意味では安全なストア



41 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 17:33:52.91 ID:JEjkThv5.net]
ローカルなのかクラウドかの話ではではく、
原本のパスワード(平文のパスワード)をそのまま保存するのは行儀が悪いと言いたかったにゃ

42 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 17:35:03.97 ID:Pse13c5G.net]
またテンプレも読めないクソどもか

43 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 18:54:38.72 ID:M+sV1Obo.net]
MessagePackでバイナリ化してAES暗号じゃダメなんか?

44 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 18:57:06.18 ID:M+sV1Obo.net]
もしかしてWPFのPasswordBoxコントロールのSecureStringの事かいな?

45 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 19:28:47.91 ID:s8qQLejn.net]
>>37
行儀の問題じゃないよ。
パスワードを保管することに意味があるか無いか。
極一部の例外を除いて、一般に開発者がユーザーの入力したパスワードを保管したいと考える(勘違いする)のは、
ほとんどが簡易的なパスワード認証を実装したいケースだ。
その場合、パスワードを復元可能な形で保管する必要はまったく無い。ハッシュを使えばハッシュ値の保管方法に気を使う必要はなく、
遥かに簡単でセキュアな認証情報管理が実現できる。

46 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 19:38:50.95 ID:6kird9PE.net]
お互いに違うことについて話しているんだからどこまで言っても平行線

47 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 19:53:33.34 ID:VUFW/DdR.net]
ちょっと何言ってるのかわかんないねw

48 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 20:04:06.08 ID:TmlQrbi9.net]
>>46
ハッシュを使ったパスワード認証ってセキュアプログラミングの基本中の基本だぞ
ほんとに分からないの?ちょっと危機感持ったほうがいいよ

49 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 20:05:40.69 ID:1eWHTsKF.net]
>>44
>極一部の例外を除いて、… ほとんどが簡易的なパスワード認証を実装したいケースだ。
これは完全に思い込みだよね
用途を聞く前からパスワード保管を全否定はいただけない

50 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 20:07:37.44 ID:NU3s1WzP.net]
入力したパスワードをそのまま持っておくというのは、作り手側の危機感が足りないようにみえるね
大昔の yp からそんなことはしないものと決まっていたと思っていたが



51 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 20:08:13.42 ID:NU3s1WzP.net]
>>48
用途にかかわらずパスワード保管は薦められないですね

52 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 20:08:48.06 ID:/FfNoiRb.net]
いいから死ねよ
ころすぞ

53 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 20:12:36.88 ID:1eWHTsKF.net]
>>50
平文で保管しろっていってんじゃないよ
それともパスワード管理ソフトも全否定?

54 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 20:20:35.48 ID:VUFW/DdR.net]
やっぱりちょっと何言ってるのか分からないけど、
>>47の人は認証するのが自分のコードだと思い込んでる気がするw

だからChromeとかFirefoxとか具体名出してるのに

ちなみに、FXとか株とかのトレードアプリでもパスワード保存機能がついてるのが普通ですよw
場合によっては億単位の金が絡むんだけどね。

55 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 20:22:44.40 ID:6kird9PE.net]
だから言っただろ

お互いに違う話してるから平行線だって

56 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 20:32:50.58 ID:NU3s1WzP.net]
>>52
保存するならキャッシュで、というのが安全ですね

>>53
ブラウザのパスワード入力支援の話でしたか…そりゃ違う話ですねえ…

57 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 20:46:48.34 ID:ThW050h/.net]
普通pinだよね〜

58 名前:デフォルトの名無しさん [2018/03/06(火) 17:22:21.13 ID:40kaWQRT.net]
結局、Javaみたいなパスワード用のストアってないわけ?
証明書のストアがあるぐらいならあるのかと思っちゃったよ

59 名前:デフォルトの名無しさん mailto:sage [2018/03/06(火) 17:47:30.00 ID:dl9PBnAI.net]
そうだな、キーコンテナも面倒だから。

60 名前:デフォルトの名無しさん mailto:sage [2018/03/06(火) 18:20:52.64 ID:/9uChD8X.net]
用途とか細かく書かないと質問者そっちのけでマウント合戦始めるスレだからな



61 名前:デフォルトの名無しさん mailto:sage [2018/03/06(火) 19:27:25.91 ID:XG2njCd+.net]
>>59
なんか気付いてないみたいだけど、それ一番やりたがってるの君じゃないの?w
ずっと思ってたけど単細胞だよねお宅。
この単細胞な幸せ回路、ネトウヨだったりもしそうw

62 名前:デフォルトの名無しさん mailto:sage [2018/03/06(火) 21:11:51.62 ID:PPL1W7N6.net]
ワッチョイ無くてもいつもの奴らが書いてるのが分かるの笑える

63 名前:デフォルトの名無しさん [2018/03/07(水) 00:46:04.16 ID:E/AkTCwB.net]
グラフ書くってなったらchart使うんだよね?

64 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 06:54:10.77 ID:dyn70F+X.net]
groupをしてTimeSpan型の平均、合計をだしたいのですが

var C =
from a in db.Articles
group a by a.Category into B
select new ArticleHaving

{
合計 = B.sum(a => a.時間)
};

↑のa.時間がTimeSpan型だと型変換できなくてエラーになるのですが
どのように書いたらいいでしょうか?

65 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 08:17:43.90 ID:WEJ0//C3.net]
構造体だからってオチ?

.TotalHourだったらどうなんのよ

66 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 08:26:40.93 ID:of1Kc4NS.net]
>>63
合計 = B.sum(a => a.時間.ticks)
として合計出して
TimeSpan.FromTicks(C) でTimeSpan型に戻せばいいんじゃね?

67 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 09:27:56.48 ID:Rfc91YM1.net]
>>57
MS的には資格情報マネージャを使えということになっているので
プラットフォーム独立な奴はない

68 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 12:38:55.21 ID:2wkHBkDf.net]
同じソースを Framework 3.5 / 4.0以降 で使い回ししたいのですが、
コンパイル時にバージョンを識別させることできますか。

C言語ぽく書くと

#ifdef FRAMEWORK35
  // 3.5用のソース
#else
  // 4.0用のソース
#endif

的なことがやりたいのですが。

69 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 13:50:23.04 ID:pfa4Uwxk.net]
>>67
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/preprocessor-directives/preprocessor-if

70 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 14:03:40.77 ID:500OxlyC.net]
それ、いいと思ってるのは本人だけシリーズ
んなコード、ソース中に散りばめたこと想像するだけでゾッとするわ



71 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 20:08:03.89 ID:kqlcBDmo.net]
MSからしてみればさっさと最新のFramework入れろよとイライラしてそう

72 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 20:17:39.78 ID:UA5KKOmp.net]
>>69
良し悪しの問題じゃなく、好むと好まざると>>67みたいないことが必要な場合は実際にある。
質問者が言ってもいない前提まで加えてくだらないいちゃもんつける奴の方がよほどぞっとするよ

73 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 20:21:03.26 ID:KHQlD0En.net]
社内共有のコアライブラリとかなら全然アリでしょ

74 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 20:36:32.77 ID:dyn70F+X.net]
>>65
ticks使えばいけそうです。
ありがとうございます。

75 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 21:33:11.25 ID:500OxlyC.net]
>>71
は?ねーよ
ちょっと考えてみ
それさ、ソースのどっかにあったらアプリの挙動変わるんだぜ
いちいちそんなの確かめてらんねーよ
んでそれがあちこちにあったらもうプロジェクト終わるね
そこでやるべきものじゃないし
もうバージョン管理レベルで変更するものであってそこに書くもんじゃねーよ

76 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 22:35:50.64 ID:jL/wX1y0.net]
>>74
>バージョン管理レベルで変更するものであってそこに書くもんじゃねーよ

複数の.NETバージョンのサポートが必要なライブラリなんかを作る時に
新バージョンにしかない機能も使えるようにしたい場合
どういう風にバージョン管理レベルで変更すればいいの?

77 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 22:39:29.37 ID:kbPu74AY.net]
神エクセルの読み取りで使えそうな典型的処理をまとめたライブラリとかない?
100種類ぐらいの神エクセルファイルがあるんだが今月中に読み取りを全部自動化しなければならない
時々フォーマット間違ってるものもあってもう心が折れそう

78 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 22:45:02.00 ID:N0djvhnX.net]
>>74
濫用すべきでないのは当たり前だが、意義を完全に否定できるものでもない

79 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 23:05:12.13 ID:Zg+bx7i1.net]
>>76
詳しく

80 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 23:25:58.56 ID:500OxlyC.net]
>>75
全部別にフォルダきって個々で管理



81 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 23:58:33.00 ID:ydf/SLRs.net]
>>79
クソワロタ

82 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 00:03:36.21 ID:QLJ7X/Ow.net]
>>80
と思うだろ?
お前が節約してる手間なんて実装だけだろ
テストや動作確認は各バージョン全部やらなきゃいけない上に
バージョン番号での分岐のテストも各バージョン毎全部しなきゃならん

分けた方が楽だぞ

83 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 00:13:13.28 ID:3qyzG5H1.net]
バカの壁ってこういうの言うんだねw

84 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 00:33:12.76 ID:S1Kk1wSa.net]
>>81
こういうほぼ共通なコードで #if を使わずにファイルを分けたら逆に管理しづらくならない?
https://github.com/Microsoft/referencesource/blob/master/System/sys/system/threading/semaphore.cs

85 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 00:45:24.85 ID:3qyzG5H1.net]
だから、バカの壁の向こう側に何言っても無駄w

コメントは二重管理になるからコメントなしで理解できるようなコードを書け、
と言っても問題意識を共有できない人がいるのと同じw

っていうかまさにそういうタイプの人なんだろう

86 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 01:02:06.65 ID:deM+QTok.net]
質問者に対する提案ならともかく議論なら議論スレでやってくれ

87 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 01:08:54.44 ID:3qyzG5H1.net]
こんな過疎スレでそんな「交通整理」に意味あるの?
スレ違いって自分が言いたいだけだよねw
何よりそういう自己分析ができないってもう絶望的に頭悪いよ

88 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 01:28:30.71 ID:QLJ7X/Ow.net]
>>83
それでもやれ
何度も言うけどお前等は実装なんてチンケな工程にこだわり過ぎてる
処理はできるだけ共通化すると幸せになれるという根拠のないルールが呪いになっている
いくら共通化ったってここまで複雑になったコードが管理しやすいわけねぇだろ

89 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 01:37:47.28 ID:4UosM8wW.net]
ソースから完全に分けるのと#ifdef使うのとなら
あらゆる状況でどちらかが常に優れてるわけじゃないんだから
状況に応じて選べばいいんじゃん

90 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 06:04:32.53 ID:y9tge1zw.net]
>>87
素人かよ



91 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 07:19:52.71 ID:QLJ7X/Ow.net]
>>88
それができてるの?
共通化全適用以外の選択肢を取れるの?
馬鹿だから無理でしょ?

92 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 12:01:42.48 ID:m1DjBHcg.net]
T where int,long のT a、T bの変数に対して、a+bを実行したいんだけとなんかいい方法ある?

93 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 12:14:51.49 ID:KNsyBCN9.net]
where int,longってなに?

94 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 12:55:19.49 ID:NNizdivM.net]
その話もうさんざん議論されてるからまずはググってくれ

95 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 13:10:43.66 ID:m1DjBHcg.net]
>>93
ダイナミックやリフレクションを使うとできそうって感じかな
どちらも採用したくないので諦めることにするわ

96 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 13:16:29.76 ID:wkuTrnYs.net]
int, longならlongだけ用意しとけばいいだろ
ジェネリックにしたくなる気持ちはわかるけど実際ほとんどの場合は結局一つしか使わないよ
YAGNI

97 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 13:25:00.67 ID:m1DjBHcg.net]
>>95
将来的にdecimalとかでも使うかもしれないから最初からTで作っときたかった

98 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 13:35:16.73 ID:KNsyBCN9.net]
いつのまにかwhereにintやlongやdecimalが指定できるようになったのか?
違うだろ?

99 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 13:38:21.60 ID:7fgp1oNf.net]
くだらないいちゃもんつける馬鹿多すぎだなこのスレ
いちいちいちゃもんつけないと死ぬのかねw

100 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 13:46:19.13 ID:KNsyBCN9.net]
int,longだとintかつlongだからそんなもの存在しない








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

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

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