1 名前:デフォルトの名無しさん mailto:sage [2019/07/16(火) 15:36:23.74 ID:i1fbuZ/pM.net] !extend:checked:vvvvv:1000:512 次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為) 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。 他のスレッドでは書き込めないような低レベルな質問、 質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。 内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。 なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。 C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■関連スレ C#, C♯, C#相談室 Part95 https://mevius.5ch.net/test/read.cgi/tech/1508168482/ ■コードを貼る場合は↓を使いましょう。 ideone.com/ https://dotnetfiddle.net/ ■前スレ ふらっと C#,C♯,C#(初心者用) Part143 https://mevius.5ch.net/test/read.cgi/tech/1558002486/ ■情報源 https://docs.microsoft.com/ja-jp
75 名前:デフォルトの名無しさん mailto:sage [2019/07/30(火) 10:40:17.04 ID:B9XYpo8O0.net] >>73 これ
76 名前:デフォルトの名無しさん mailto:sage [2019/07/30(火) 12:17:38.06 ID:AKu0TaFKM.net] >>72 読み取り専用プロパティはもうちょっとコンパクトに書ける override string ObjectName => "楕円";
77 名前:デフォルトの名無しさん mailto:sage [2019/07/30(火) 12:33:54.79 ID:vSU/UXgGa.net] https://ideone.com/R6UBzL あんまり面白くないねw
78 名前:デフォルトの名無しさん mailto:sage [2019/07/30(火) 12:49:16.40 ID:IhJrxMBNM.net] >>75 おお、いいですね!活用させてもらいます!
79 名前:デフォルトの名無しさん mailto:sage [2019/07/30(火) 13:37:48.40 ID:k9k21JDF0.net] >>68 readonly使うのが定石
80 名前:デフォルトの名無しさん [2019/07/31(水) 15:31:35.93 ID:tEceTxskd.net] MacでC#勉強してみたいんですがVisual Studio入れないと厳しいですか? VS Codeだけでは難しいですか?
81 名前:デフォルトの名無しさん mailto:sage [2019/07/31(水) 16:00:55.32 ID:lLYOef6LM.net] MacでC#を勉強するメリットはないから他の言語にしとき 唯一意味があるのはUnityでゲーム作る用途だから、Unity入れてC#やってみるのはまあアリ
82 名前:デフォルトの名無しさん mailto:sage [2019/07/31(水) 18:13:54.85 ID:vBQ8AC7J0.net] >>79 言語の学習目的なら.NET Core SDKとVSCodeでじゅうぶん
83 名前:デフォルトの名無しさん mailto:sage [2019/07/31(水) 18:27:29.21 ID:SBa7OC8vd.net] >>79 難しくないよ
84 名前:デフォルトの名無しさん [2019/07/31(水) 18:38:19.42 ID:quxH8qSha.net] >>79 変な意地をはらずに一番イージーな道を選択した方がいいよ つまらないことに時間を浪費したいの?w
85 名前:デフォルトの名無しさん mailto:sage [2019/07/31(水) 18:43:57.13 ID:lLYOef6LM.net] >>83 その理屈だとBootcampでWindowsをインストールするのが最善ということになってしまう VS for Macなんかほとんど誰も使ってないんだから、時間の浪費という意味ではVSCodeといい勝負だわ
86 名前:デフォルトの名無しさん mailto:sage [2019/07/31(水) 19:10:03.53 ID:9TaORHsg0.net] Listでindex aのアイテムをindex bにインサートするスマートな方法はないだろうか aをremoveしてbにインサートすると、a>=bならいいけど、a<bの時 removeでインデックスがズレるので狙いより1つ下に行ってしまう 一番下だと範囲外の例外が起きてしまう できればこれを実行するメソッドを作って既にあるList<T>を拡張したいんだけど ヘルパークラス的なものって作れないかな?
87 名前:デフォルトの名無しさん mailto:sage [2019/07/31(水) 20:05:23.41 ID:i+V4gIP9a.net] >>85 「拡張」という言葉の意図がわからないけど ヘルパークラス作って静的メソッドや拡張メソッドとして定義すれば良いんじゃない? List<T>を継承したオレオレListでメソッド定義、という方法は止めとけ
88 名前:デフォルトの名無しさん [2019/07/31(水) 20:12:36.58 ID:quxH8qSha.net] >>85 やってみたが例外なんか出ないけど https://ideone.com/CazHs2
89 名前:デフォルトの名無しさん mailto:sage [2019/07/31(水) 21:18:24.59 ID:uxU05rGA0.net] >>79 両方使って比較してみては
90 名前:デフォルトの名無しさん mailto:sage [2019/07/31(水) 23:06:20.36 ID:9TaORHsg0.net] >>87 2 to 9なのに1が9に移動しちゃうでしょ?
91 名前:デフォルトの名無しさん mailto:sage [2019/07/31(水) 23:07:54.33 ID:9TaORHsg0.net] ああごめん、リストの再生成をしてないのね
92 名前:デフォルトの名無しさん mailto:sage [2019/07/31(水) 23:27:27.06 ID:9TaORHsg0.net] 申し訳ない、コードを見直したら質問の前提を間違えてました やりたかったのは List<T> というリストがあった場合に リストに入っているかわからないオブジェクトaを リストに入っているオブジェクトbの1つ後に挿入する …というメソッドを作りたかったんです List<T>.MoveAfter(T b,T a) //リスト内bの後ろにaを挿入、aがList内にある場合は元の位置から移動させる で、このメソッド自体の実装はできているんですが いただいたサンプルのextensionsの記述がよくわからず質問しました おかげでうまく実装できました、ありがとうございます!
93 名前:デフォルトの名無しさん mailto:sage [2019/08/01(木) 08:01:53.51 ID:xGy0TEOb0.net] >>79 他の人も言ってるけど、unityでC#使ってるよ C#自体の勉強ならこれで出来る 当然、WindowsアプリをC#で作れるようなスキルは得られないが
94 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 00:28:39.75 ID:pwBgdUBF0.net] c#とvsの至れり尽くせり感に慣れすぎて他の開発環境でできなくなりました
95 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 00:45:41.15 ID:RRmMDCsx0.net] そうなんだよなー VSは使いやすすぎる Delphiの開発者を引き抜いてきただけあるわ
96 名前:デフォルトの名無しさん [2019/08/02(金) 00:52:16.45 ID:80wMhccea.net] 最低限IDEで自動ビルドなら慣れれば貧弱な環境も楽しいよ インテリセンスなんかないから長い識別子をダブルクリック & Ctrl + C ⇒ Ctrl + V ばっかりしてたら左手が腱鞘炎になっちゃったけどw
97 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 09:27:47.59 ID:NmFjjWZQ0.net] 秀丸ですらファイル内入力補完あるよ
98 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 13:45:35.78 ID:E5BJDT7zM.net] 秀丸御殿が建ってる偉大なエディタに対して「ですら」って
99 名前:デフォルトの名無しさん [2019/08/02(金) 14:01:07.04 ID:ktX3qXN3a.net] 大昔試用したことあるけどまだ存在するんだw いい加減タブ化とかしたのかな しかし、日本人も真面目に作者に金払って使う人結構いるんだね
100 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 14:48:47.26 ID:NmFjjWZQ0.net] いや秀丸はすげーと思うけど言語解析までするIDEと比較してテキストエディタですら入力補完あるのにコピペ頑張らんでもええやん、って話 タブ化は10年前くらいには対応してたはず vscodeも良いけど軽さはやっぱ秀丸のほうが良いから今でもちょいちょい起動するよ
101 名前:デフォルトの名無しさん [2019/08/02(金) 15:14:57.86 ID:e58H0HHKF.net] Nif●y の決済システムってまだ稼働してるんか 最近使ってないから知らんけど
102 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 15:18:13.18 ID:j/fAdfUcd.net] 俺も秀丸とvscodeの併用だね 秀丸は起動が速いから
103 名前:デフォルトの名無しさん [2019/08/02(金) 15:47:38.91 ID:ktX3qXN3a.net] xyzzyなら一時期使ってたなあ 道具にこだわるたちじゃないんで、金払ってまで禿丸さんを使う気にはなれなかった
104 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 15:50:45.00 ID:xzjh5WuB0.net] きたああああああああああああああああああああああああああああ https://i.imgur.com/Q7qeopR.jpg
105 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 16:01:20.35 ID:4Xvk7WGTM.net] Rider使いは?
106 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 18:09:45.30 ID:sXaRfN3S0.net] >>102 道具にこだわらないのにWindowsは金払ってまで使うんだ
107 名前:デフォルトの名無しさん [2019/08/02(金) 22:46:17.18 ID:UiHNxeJXa.net] ここにいる人は趣味プログラマーが多いんかな 本業なんだけど経験ないC#開発もやらないといけなくなったって人も結構いたりする?
108 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 22:52:43.67 ID:ol3AyafF0.net] windowsはみんな使ってるからこだわってるとは言わない。普通。
109 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 22:54:15.89 ID:j/fAdfUcd.net] >>106 本業だけどWin32から.NETへの移行期はC#の経験ないところから始めたね
110 名前:デフォルトの名無しさん mailto:sage [2019/08/02(金) 23:19:14.53 ID:bTVyt88NM.net] 俺はDelphiからの転向
111 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 00:28:08.22 ID:3YKHpYYf0.net] 同じく本業。 事前に経験ってほどのものがあったことなんかほとんどないような気がするけどなあ。 最近なら python をやってみたり。これ ruby っぽくてそんなに好きになれそうにないや。C# は大好き。
112 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 00:31:46.15 ID:n84PTU/80.net] 本業C#erだわ 趣味時代はCとかPythonとかやってた
113 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 01:17:35.52 ID:lgH4NInK0.net] 組み込みだけど本業の開発よりc#でGUI作ってるほうが楽しい!
114 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 10:25:21.86 ID:QMMl7Yx90.net] 聞きたいこと ライブラリ内の数値を、メインのプログラムで参照した。 arduinoを動かそうとプログラムを書いているのですが、 hoge.h 内に、 enum class Button : uint16_t{ A = 0x0001, B = 0x0002}; というクラスがあります。 これを、 #include <hoge.h> void setup() { const int BtPt[2] = {Button.A,Burron.B}; } のように、代入したいんですけど、うまくいきません。 どうすれば参照できるんでしょうか。 そもそも概念的に間違ってるのかもしれませんが、、、
115 名前:デフォルトの名無しさん [2019/08/03(土) 10:27:40.91 ID:3ia1GLNcF.net] 書き込むスレが間違ってる
116 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 11:44:13.94 ID:6qsjMY4R0.net] 俺も最近CからC#に移行したんだが、下痢ゲートだとか阿弥陀式とか、ワケ分からないw
117 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 16:40:29.95 ID:n84PTU/80.net] Cもまともに書けてなさそう
118 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 19:56:50.53 ID:voIsjIeCM.net] 本業C#erの方、年収とキャリア教えて下さい!!
119 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 21:25:49.26 ID:MA8i5rVM0.net] 新卒5年目、約600万円や
120 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 22:06:36.96 ID:WW7jv2oU0.net] >>117 40歳年収240万
121 名前:デフォルトの名無しさん mailto:sage [2019/08/03(土) 22:07:55.00 ID:n84PTU/80.net] 新卒2年目450万くらい
122 名前:デフォルトの名無しさん mailto:sage [2019/08/04(日) 03:03:55.72 ID:JPscGmkT0.net] 1000万越えのC#erはいないのか? てか、そのくらい高額になるともはやコード書く仕事ではなくなるからC#erを名乗らなくなる?
123 名前:デフォルトの名無しさん [2019/08/04(日) 03:23:55.03 ID:jcz7NslOa.net] そういう話はさすがにスレ違いでプログラマ板でやった方がいいと思うが、 C#に限らずサラリーマンプログラマで1000万越えは少ないだろうね。 フリーランスの優秀な人はもっと貰ってるかもしれない。 意外だろうけど零細企業は景気がいい時は大手より高給が貰えるところもある。 ただいかんせん不安定 プログラマに限らんけど、優秀な人はアメリカにでも行った方がいいね。 日本はいろいろ終わってると思うw
124 名前:デフォルトの名無しさん mailto:sage [2019/08/04(日) 03:39:09.71 ID:JPscGmkT0.net] そうですね、確かに年収ネタは荒れやすいしすれ違いでした。これでこの話題は終わりにしときましょう。
125 名前:デフォルトの名無しさん mailto:sage [2019/08/04(日) 16:
] [ここ壊れてます]
126 名前:52:52.62 ID:idEgR3Nvr.net mailto: まあ色々な意味でも終わってるのかもねw この不寛容さの社会を作ってしまった「市民」として責任を少しだけ感じます [] [ここ壊れてます]
127 名前:デフォルトの名無しさん [2019/08/06(火) 17:15:33.24 ID:8h96sAQZ0.net] C言語スレとマルチですが質問がスルーされてるので質問させてください。 コマンドライン引数というのは具体的に何が出来る引数なのでしょうか? WisdomSoftって入門サイトと苦しんで覚えるC言語って本を読んでるのですがイマイチ何が伝えたいか分かりません。
128 名前:デフォルトの名無しさん mailto:sage [2019/08/06(火) 17:23:41.64 ID:lwH+jHue0.net] ファイルをダブルクリックされた時に なんのファイルをダブルクリックされたか 知るためなどに使う
129 名前:デフォルトの名無しさん mailto:sage [2019/08/06(火) 17:24:51.93 ID:lwH+jHue0.net] 関連付けされたファイルをダブルクリックして起動された時などに…だな 言葉が足りなさすぎた
130 名前:デフォルトの名無しさん [2019/08/06(火) 17:37:01.47 ID:8h96sAQZ0.net] >>126 ありがとうございます。 しかしファイルをダブルクリックしても何も起こりません; 読んでるサイトにはD&Dすると白紙のメモ帳にプログラムが書き写されるみたいなこと書いてあるので 試しましたが何もおこらず・・・ 使ってる環境VS2019なのですがそれが駄目なんでしょうか?
131 名前:デフォルトの名無しさん mailto:sage [2019/08/06(火) 17:38:57.54 ID:lwH+jHue0.net] >>128 その読んでるサイトとやらのURLを見せてみ?
132 名前:デフォルトの名無しさん mailto:sage [2019/08/06(火) 17:41:48.19 ID:hdPDl6nEM.net] >>125 まあなんだ、引数を指定してバッチ起動できるわけよ。 すると引数に応じた処理をすることが出来たりする。
133 名前:デフォルトの名無しさん mailto:sage [2019/08/06(火) 17:43:05.87 ID:nV6bzp6s0.net] >>125 アプリ実行時に引数で指定した文字列の配列を渡せるだけ それを使って何が出来るかはアプリ次第
134 名前:デフォルトの名無しさん mailto:sage [2019/08/06(火) 17:44:52.93 ID:8h96sAQZ0.net] >>129 http:ああwisdom.sakura.ne.jpあprogrammingあcあc32.html と https:ああ9cguide.appspot.comあ17-03.html です URL禁止みたいなのでスラッシュを置き換えてます。スイマセン 後者に関してはstdin等なんの説明もなく使ってるので更に分からないです
135 名前:デフォルトの名無しさん [2019/08/06(火) 17:55:25.38 ID:8h96sAQZ0.net] >>130-131 メモ帳とかを使ってそれを実行できたりしないのでしょうか? わかり易く解説してサイトとかあったら教えて頂けると助かります;
136 名前:デフォルトの名無しさん mailto:sage [2019/08/06(火) 18:02:11.72 ID:lwH+jHue0.net] もしかして実行して一瞬チラッと何か出てすぐ終了する感じ?
137 名前:デフォルトの名無しさん mailto:sage [2019/08/06(火) 18:11:09.99 ID:D2KPblxl0.net] >>133 関数に引数を渡すのは知ってる? 渡す引数の内容でその関数の動作は変わるよね? コマンドライン引数はmain関数への引数になる その引数はファイル名だったりexeを起動する人が入力する文字列だったりする まずはコマンドライン引数を出力してみて何が入っているか確認しよう 出力先はテキストファイルでもコンソール(stdout)でもいい
138 名前:デフォルトの名無しさん mailto:sage [2019/08/06(火) 18:11:12.27 ID:ruFXP44J0.net] >>133 これコンパイルして、以下のようにコマンドライン引数渡して起動してみて。 C:\どっかのフォルダ> MainClass.exe 引数1 引数2 引数3 using System; public class MainClass { public static void Main(string[] args) { Console.WriteLine("最初の引数は" + args[0]); foreach(string s in args) { Console.WriteLine(s); } Console.ReadLine(); } } バッチ使うなら、exeと同じフォルダに、以下の内容のバッチファイル(***.bat)置いて、バッチファイル起動してみて。 hello.exe 引数1 引数2 引数3
139 名前:デフォルトの名無しさん mailto:sage [2019/08/06(火) 18:11:17.28 ID:8h96sAQZ0.net] >>134 いえ、コードをVS2019で実行して実行画面を出したままデスクトップのメモ帳をD&Dしました
140 名前:デフォルトの名無しさん mailto:sage [2019/08/06(火) 18:13:03.10 ID:6OOXAacva.net] >>125 どのスレのどの書き込みがマルチ
141 名前:ポスト元なの? 質問系のスレならスルーはあまりないと思うけど書き込むスレ間違えてない? ↓のスレあたりで、開発環境やコンパイラー種類、実行している方法などを添えて書き込んで見ればいいんじゃない C言語なら俺に聞け 152 https://mevius.5ch.net/test/read.cgi/tech/1560763630/l50 スレ立てるまでもない質問はここで 149匹目 https://mevius.5ch.net/test/read.cgi/tech/1529199088/l50 [] [ここ壊れてます]
142 名前:デフォルトの名無しさん mailto:sage [2019/08/06(火) 18:13:46.50 ID:D2KPblxl0.net] >>137 実行画面にドラッグアンドドロップするのではなく実行ファイルにする ファイルの上にファイルをのっけるってこと
143 名前:デフォルトの名無しさん [2019/08/06(火) 19:53:18.36 ID:fRCzQnxrr.net] >>139 あまり深く考えたことないけど、それでドロップしたファイル名がとれるのってどこで仕様化されてるのだろ
144 名前:デフォルトの名無しさん mailto:sage [2019/08/06(火) 20:12:17.66 ID:V0Kuh8Wnd.net] >>140 osの仕様じゃないの?
145 名前:デフォルトの名無しさん mailto:sage [2019/08/06(火) 20:16:01.22 ID:hi1INabv0.net] OSの仕様だね 実行ファイルにファイルをドロップすると ファイルのフルパスが引数になって起動する 複数ファイルドロップするとファイルが全部引数で入る 送る(sendto)フォルダにexeのショートカットを置いて 右クリックして送るとやっても同じ動作をする
146 名前:デフォルトの名無しさん mailto:sage [2019/08/06(火) 20:36:54.80 ID:Dc7UiKoCM.net] ダブルクリックとかドラッグ&ドロップよりも dirやpingとかの例から教えてやれよ 説目下手かよw
147 名前:デフォルトの名無しさん mailto:sage [2019/08/06(火) 20:42:48.62 ID:Dc7UiKoCM.net] >>138 すまんCの質問者だったわ 誘導乙です
148 名前:デフォルトの名無しさん mailto:sage [2019/08/06(火) 20:45:30.56 ID:hi1INabv0.net] 君は質問者がCUIを知らないとわかった途端に 必死でマウントするタイプっぽいねw まあ文句があるなら君が教えれば良いじゃない
149 名前:デフォルトの名無しさん mailto:sage [2019/08/06(火) 21:44:06.23 ID:h96rX+BU0.net] OSというかエクスプローラの仕様では? まぁOSみたいなもんだけど macも一緒だっけ?
150 名前:デフォルトの名無しさん mailto:sage [2019/08/06(火) 22:15:41.42 ID:2e28HN3n0.net] ここがPC初心者スレに見える連中がいるみたいだな
151 名前:デフォルトの名無しさん mailto:sage [2019/08/07(水) 06:57:51.84 ID:HD57Pps60.net] まあコマンドライン引数という言葉は出てるんだからコマンドラインとはこれのことって説明にはコマンドプロンプトを用いる方がわかりやすいかもしれないけどどっちもどっちかなあ
152 名前:デフォルトの名無しさん mailto:sage [2019/08/07(水) 12:43:02.55 ID:0NR5yQ8YM.net] プログラミング初心者に PC初心者がいないと思える方が理解に苦しむ
153 名前:デフォルトの名無しさん [2019/08/07(水) 13:17:43.31 ID:+fGjf0jSF.net] >>140 Win32API なら WinMain の LPSTR lpCmdLine
154 名前:デフォルトの名無しさん mailto:sage [2019/08/07(水) 22:34:55.42 ID:7okrY9pr0.net] 定義なら HKEY_CLASSES_ROOT\exefile
155 名前:デフォルトの名無しさん [2019/08/08(木) 01:37:38.81 ID:ihcgMCFx0.net] OSの仕様とAPIの仕様とC言語の仕様がごっちゃになるから 昔より初心者は大変よな。 ただ質問の仕方はジャンル関係ないから もうちょっと伝わるように書いた方がいいと思うぞw
156 名前:デフォルトの名無しさん mailto:sage [2019/08/08(木) 14:29:31.16 ID:zX15bpOA0.net] 最も低コストな2点間時間差の測定って何なのでしょうか? 元々DateTime型を利用していましたが、超高精度である必要もなくマシンの長時間稼働で符号が反転することがあるのを承知でEnvironment.TickCountを利用しています。 Environment.TickCountよりも低コストなものはあるのでしょうか?
157 名前:デフォルトの名無しさん mailto:sage [2019/08/08(木) 14:34:41.65 ID:mB2We2tKp.net] コストの意味によって違う。 プログラム量なのか、費用なのか、所要時間なのか。
158 名前:デフォルトの名無しさん mailto:sage [2019/08/08(木) 14:37:19.14 ID:zX15bpOA0.net] >>154 実行パフォーマンス的なコストです
159 名前:デフォルトの名無しさん mailto:sage [2019/08/08(木) 15:38:41.10 ID:mhwi8eEg0.net] C# で無限Undo/Redoが出来るテキストエディタコンポーネントを探してるんですが、 使い勝手がいいものは何でしょうか?
160 名前:デフォルトの名無しさん [2019/08/08(木) 17:25:58.20 ID:EGuA/4uga.net] >>155 兆円単位の資産持ってる人がスーパーの食材の値段を比較するような話で、 意味ないよそんなのw コストなんかどっちにしろゼロと同じだ
161 名前:デフォルトの名無しさん mailto:sage [2019/08/08(木) 18:00:45.46 ID:tebxUNsfa.net] >>155 https://referencesource.microsoft.com/#mscorlib/system/datetime.cs,1503 ご覧の通りDateTime.operator -()は InternalTicksプロパティ内部でのビット論理積各1回と、減算と、TimeSpan型のコンストラクター呼び出し(内部はlong値の代入のみ)だけで 最適化されたら小さな計算だけになると思うんだが Environment.TickCountを使ったほうが優位な速度差が出ると測定したの? 測定して有意差があってかつ本当に速度を追求する場所ならEnvironment.TickCountはintだけで低コストだろうから使えばいいし そうでないのなら「早すぎる最適化」について調べればいいよ >>156 少なくともWPFのTextBoxはUndoLimitプロパティがあって、初期値では無制限になってる
162 名前:デフォルトの名無しさん mailto:sage [2019/08/08(木) 20:11:51.79 ID:zX15bpOA0.net] >>158 減算のみだとそこまでの差は無いのかもしれませんが現在のタイムを取得する命令もセットで測定した場合に結構な差が出たため乗り換えました。 具体的にはこのような方法で現在時刻を取得し int lastTime = Enviroment.TickCount; DateTime lastTime = DateTime.Now; 下記のようにして指定秒数以上立ったかなどの判定を行っています if (Enviroment.TickCount - lastTime > 10000) {} if ((DateTime.Now - lastTime).TotalMilliseconds > 10000) {}
163 名前:デフォルトの名無しさん mailto:sage [2019/08/08(木) 20:23:44.89 ID:1yv5WNbeM.net] その辺りはDDKの領分だから深入り しない方が吉かも 尚、OSとしての仕様と実際に動作している ハードの仕様の差異もあるし
164 名前:デフォルトの名無しさん mailto:sage [2019/08/08(木) 20:46:23.03 ID:tebxUNsfa.net] >>159 一定時間経過したかをより正確に判定したい、が本当にやりたかったことか ドキュメントによるとEnvironment.TickCountは「resolutionは通常10〜16ms」とあるけど DateTime.Nowでは「0.5〜15ms」とあるから 判定1回の処理時間ではなくて、精度を測定したほうが良いと思うよ Stopwatchクラスは「high-resolution performance counter」を使えるから精度出るんじゃない?
165 名前:デフォルトの名無しさん mailto:sage [2019/08/08(木) 23:24:35.70 ID:1oNCOrAR0.net] 指定秒数経過の判定で実行パフォーマンスを気にするのが間違ってる そういうのは秒間1万回処理する必要があるとかいう処理で考えるべき OS上で動作するからミリセカンドより細かい粒度での正確性はそもそも無理 stopwatch以上の細かい精度が必要ならC#じゃ厳しい どんな要件か知らんけどそんな細かな精度なくても大丈夫 120FPSのゲームでもフレーム間で80msあるんだから
166 名前:デフォルトの名無しさん mailto:sage [2019/08/08(木) 23:27:17.60 ID:J4rZTmDc0.net] >>162 計算間違ってるよ
167 名前:デフォルトの名無しさん [2019/08/08(木) 23:57:14.98 ID:d0Ff1eN7a.net] 文章読んでる限りそんな頭悪そうじゃないのに 何でそんな部分の最適化は無意味だっていう簡単な事実が分からないのかねw 昔からそういう人一定数いるけどほんと不思議
168 名前:デフォルトの名無しさん mailto:sage [2019/08/09(金) 00:05:32.58 ID:yqHkFNZaa.net] >>164 この人が該当するかはわからないけど、発達障害で脳の特性により一般の人よりも拘りが強いという人は珍しくないよ。知能の高低ではなく、引っ掛かるところが普通と異なる。相手に自覚がない場合、いくら理屈で説明しても受け入れてもらえないことが多い。
169 名前:デフォルトの名無しさん mailto:sage [2019/08/09(金) 00:24:39.62 ID:kbBtOJ8C0.net] プログラマには特に多いかもね
170 名前:デフォルトの名無しさん mailto:sage [2019/08/09(金) 00:50:27.63 ID:ENN4/0zza.net] どうでもいい細部に拘って動けなくなるのは中途半端に知恵がついてきた初心者にありがち 俺も経験あるからわかるわ そこから経験を積んでいくとスケール感がわかってきて「ゴミは無視」ができるようになってくるもんだけど、 そうならずにどんどん偏屈になっていく人も一部存在する 質問者がそうでないことを祈る
171 名前:デフォルトの名無しさん [2019/08/09(金) 04:41:46.96 ID:S4+H63Q60.net] どうでもいい細部かもしれないんですが、フォーム名やイベント名は、動詞と名詞どっちを先にするのがいいのでしょうか? 例えばユーザー登録フォームの場合、RegisterUserForm と UserRegisterForm ユーザーが選択された時のイベントの場合、 SelectUserEvent と UserSelectEvent どっちがいいでしょうか?
172 名前:デフォルトの名無しさん mailto:sage [2019/08/09(金) 08:20:41.97 ID:VQZHSvvcM.net] >>168 私は旧人なので、まずは Formですよが知りたい(プレフィクス派)ので、 Formユーザー登録 w イベントはイベントハンドラー名そのまま(わざわざ変えない)
173 名前:デフォルトの名無しさん mailto:sage [2019/08/09(金) 09:38:32.89 ID:dc6G/Fnt0.net] まあ、全ての時計は独自の時間を刻んでいるので、そもそも一致させるのは不可能だし無駄なんだけどな。
174 名前:デフォルトの名無しさん mailto:sage [2019/08/09(金) 10:33:45.61 ID:NKKMFBro0.net] >>168 イベントはUserSelectedが基本じゃないかな
175 名前:デフォルトの名無しさん mailto:sage [2019/08/09(金) 11:51:03.15 ID:01aaYby70.net] >>161 >>162 具体的にはゲームのスキルクールタイム計算なので、数十ms程度の誤差は別に許容範囲であるため高精度である必要はないと書きました 深刻な回答してくれた方が多いようですが、別に今の方法でボトルネックになってる訳でもなく単純にこれよりベストな方法あるのかな?程度の感覚で聞きました