ふらっと C#,C♯,C#(初心者用) Part139
レス数が1000を超えています。これ以上書き込みはできません。
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■関連スレ
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part138
https://mevius.5ch.net/test/read.cgi/tech/1528194762/
■コードを貼る場合は↓を使いましょう。
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/ >>951
そうだけど、そんなので速度は稼げない
素直なメンテしやすいコードにしておかないと結局バグってて遅いゴミシステムが出来上がるぞ 読みやすさとかそういう問題ではない
断言するが、お前のプログラムのボトルネックはそんなところにはない
そういうくだらないことに時間を無駄に使ってると、バグ潰しをしたり本当のボトルネックを見つけて改善したりする暇がなくなり、
結果的にバグだらけでゲロ遅く使い物にならない糞が出来上がる >>951
もちろんそうだよ
ついでに言えば、else ifは使わずifとreturnをうまく組み合わせて使うと更に早いんじゃないかな >>951
判定する条件式の中にすごく重い関数の戻り値があるなら極力避けた方が速くはなるが。。。
ここの諸兄たちが言うようにあんまり気にしない方がよかとね 50分岐なのか単に一か所に50ifが並ぶのか分からないけど、
どっちにしろまず設計がおかしいことを疑うレベルだねw
それが必要になるケースは絶対にありえないとまでは断定できないけど、
普通に考えれば何か間違ってる 文字の判定やらデコードやら色々あるから別におかしくはないんじゃない >>951
switchでcaseがすべて数値か文字列の定数ならif〜else if相当ではなくてジャンプテーブルに変換されて最適化される >>958
そんなん一気にif文で判別するのおかしいよ
個々の判定を別メソッドに切り出すべき >>960
んで呼んだら50行並ぶんですね
わかります >>957
コンパイラ作った時にあったよ
普通に素で解析するときはそうなる リッチ―の作ったCコンパイラもずらっとswitchの下にcaseが並んでる
しかもgotoだらけ ふと思ったが、ifやswitchよりデリゲートの配列で組んだ場合、可読性は別としてどんなもん? ん、951は通信電文の解析処理を組もうとしてるのかな? >>964
単純な数値による分岐なら50くらいだとif並べたほうが速いだろうな いやいや、ビルドした時点で単なる条件分岐文の羅列に変換されるんだから
早いも遅いも無い 今試してみたけど条件の羅列にはならなかったよ
ただ実験は同じ関数を大量に登録するだけだけど、実際に使うにはデリゲート配列に関数を登録する所がめちゃくちゃになりそうだ ライブラリ制作でもなきゃ
ILコードの速度より可読性優先でしょ
最近は性能がトレンドだけだも VisualStudio2017とC#でDLLとEXEのプロジェクトを含んだソリューションを構成しているのですが、
EXEのプロジェクトはブレイクポイントで止まるのにDLL側のプロジェクトはブレイクポイントを設定しても止まりません。
どうすれば止まるように設定することができるのでしょうか? >>974
事故解決。
DDLの参照設定に誤りがありました。
無事ブレイクポイントで止まりました。 >>975
質問したならせめてどう設定したのか書いてくれると助かる プロジェクトじゃなくてアセンブリを直接参照したんだと思うよ 正規表現で、特定の変数に格納された文字列が行頭に含まれるときにマッチさせたいのですが
変数にメタ文字が含まれているとそのままメタ文字として機能してしまいます。
\Q〜\Eを使おうとすると認識されないエスケープシーケンスと出てしまうのですが
呼び出した変数をエスケープする方法はありませんか?
string tag = "."; //この変数はユーザー入力により可変させたい
Regex r = new Regex("^"+ tag, RegexOptions.Multiline);
MatchCollection mc = r.Matches(text, 0); 何を言ってるのjかさっぱりわからないけど
\のエスケープは\\だよ >>979
「.」が代入された変数をマッチ条件として呼び出したときに
「\.」として読ませたいんです…… 説明下手ですみません やっぱり意味がわからないよ
string.Replace 行頭マッチならstring.StartWith() >>983
これでした! ありがとうございます!
Regex r = new Regex("^"+ Regex.Escape(tag), RegexOptions.Multiline);
でいけました >>980
次スレ立てて
立てられないならそう書いて あっ980踏んだの気付いてませんでした
立ててきます >>986
恥ずかしい奴ってことで晒されてるんだぞ アプリで使用する最大スレッド数ってどう決めるのがいいですか? >>992
動作環境に配慮する
動作スレッド占有したら迷惑かもと思ったら少なくする 単純にCPUのスレッド数を最大に設定しておけばいいですか?
それともCPUのスレッド数-1とかの方がいいのでしょうか?
なんか決め方に基準とか規則とかって考え方あったら教えてください >>993
そうそう今まではこのように
少し曖昧な形で決めてたのでなんか明確なやり方あったらなあと思って
書き込んでみました >>994
無いよそんなもの
仕事でやっているのなら会社の先輩なりクライアントに聞いて >>996
無いっていうのはどんな設定しても
結局スレッドのコントロールはOSレベルでされるし
アプリケーションの処理内容次第で占有率とかが違うからってことですか? tiffのヘッダ情報を参照する方法ってどのようにすれば良いのでしょうか
画像読み込みは見つかるのだけどヘッダ情報参照方法が見つからず System.Drawing.Bitmapに読み込んでPropertyItemsから取得する 全部取れるわけではない
System.Windows.Media.Imaging.BitmapMetadataを使う 大体取れるはず
ヘッダだけ読んで画像データは読み込みたくない!ってなら標準ライブラリには存在しないな このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 60日 1時間 12分 0秒 レス数が1000を超えています。これ以上書き込みはできません。