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

レス数が1000を超えています。これ以上書き込みはできません。
2018/08/05(日) 19:55:44.50ID:tZmoj8I+
「どんなにくだらない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/
2018/09/26(水) 20:52:17.09ID:5G9UpHy0
>>907
仮にそうだったとしてそれに当てはめて何か使いたい式があるのかい?
2018/09/26(水) 21:08:00.87ID:YfVqXzaT
設計モデルのこと聞くのにこのスレで引っ張られてもgdgdにしかならないと思うな
915デフォルトの名無しさん
垢版 |
2018/09/26(水) 23:47:19.83ID:6l6lrWJp
>>909
WPFを使うよって可能性もあるのでは?
2018/09/27(木) 00:47:29.61ID:3iNJ0doV
MVC は、Rails が基本。
これをやっていないと、理解できないだろう

各フレームワークの本は、以下に書いてある

Ruby 初心者スレッド Part 64
https://mevius.5ch.net/test/read.cgi/tech/1535797516/267
2018/09/27(木) 00:47:48.12ID:4ugdlN24
はいキチガイ
2018/09/27(木) 02:06:09.29ID:kGqzP/YO
そもそもMVCってのがかなり大きな概念だからな
ただ、文脈によっては特定のフレームワーク指してたりすることもあるけど

発祥はSmalltalkだったと思うけど、Railsが基本とかやってないと理解できないとかもうね
最近はRubyも必死に普及活動しないとだめなのかね
2018/09/27(木) 03:25:59.55ID:3iNJ0doV
フレームワークを流行らせたのは、Rails

だから、それ以降のフレームワークは、すべて影響を受けている
2018/09/27(木) 03:51:46.60ID:eHS6051w
>>918
いやもっと前だな。
WordStar とか WordMasterは既にその概念で実装されている
2018/09/27(木) 06:13:53.28ID:Ft8D7cEG
Rubyガイジの相手をするな
2018/09/27(木) 08:37:22.20ID:47BeUI0O
>>918
不況活動?
2018/09/27(木) 12:32:32.34ID:dSQWakVE
ASP.NETのWebAPIでセッションって使えますか?
使えないとしたら、RESTfullで認証はどうやるのでしょうか?
2018/09/27(木) 12:39:51.19ID:DMzEptXi
>>923
OIDC
2018/09/27(木) 14:21:18.81ID:kGqzP/YO
>>923
そもそもセッションと認証は別の概念なんだが

認証はRESTったって単にHTTPなんだから、基本認証でも何でもいいだろ
RESTfulでセッションってなら設計が間違ってる気がするけど、普通にASP.NETのセッション使えたはず
2018/09/27(木) 15:47:13.21ID:Doi0uWJI
MVCの話ししていいですか?
2018/09/27(木) 16:23:04.87ID:ejcWbOIW
>>923
ADFS
2018/09/27(木) 17:52:08.36ID:YZshWEeB
MVC!
2018/09/27(木) 20:01:27.01ID:ObHk0Vpa
ダメです
930デフォルトの名無しさん
垢版 |
2018/09/27(木) 23:24:05.14ID:52bTlTE/
>>923
RESTのSはStatelessのSだぞ
https://qiita.com/NagaokaKenichi/items/0647c30ef596cedf4bf2

まあアクセストークン発行が多いかな
2018/09/28(金) 18:46:05.98ID:ET1lv+jR
>>924
>>925
>>927
>>930
ありがとうございます
それらのキーワードについて調べます
932デフォルトの名無しさん
垢版 |
2018/09/28(金) 18:46:53.05ID:rNXHs4S4
MVCって知ってる?
2018/09/28(金) 20:10:07.21ID:Gg718xcT
MostValuableComputer
2018/09/28(金) 20:11:31.18ID:MONIOm5G
Mega Voice Command
2018/09/28(金) 21:06:51.38ID:6t0MBxCA
>>876
横レスだけどこれ勉強になった。ありがとう
ただそこの例だとConsole.WriteLineで"\uD842\uDF9F"が表示できないのと
「叱る」をそのままコピペして入力してしまうとサロゲートペア扱いにならずどちらも2文字になってしまう
他で見た「ほっけ」の漢字(魚偏に花。ここでは表示されない)を使ってフォームのTextboxで確認できた
2018/09/29(土) 13:52:59.64ID:+Sz7jQ14
>>932
格ゲーでしょ知ってる知ってる
937デフォルトの名無しさん
垢版 |
2018/09/29(土) 17:00:15.70ID:gjm+1/rI
規制か
938デフォルトの名無しさん
垢版 |
2018/09/29(土) 17:02:29.51ID:gjm+1/rI
あれ?書けるじゃん
コード書いて質問しようとしたんだが
サーバーが受け付けないとか?設定変わったとか?
2018/09/29(土) 17:56:26.04ID:w5r/wsls
>>1「コードを貼る場合は」参照

関係ないかもしれんが、前も何かの記号、確かバックスラッシュ(\)が書けなくなったことがあった
2018/09/29(土) 18:08:04.57ID:S96Pj/Mu
コードを書くような真面目な内容ならteratailやstackoverflowでやる
そうじゃないなら5ch
941デフォルトの名無しさん
垢版 |
2018/09/29(土) 18:27:15.47ID:S+xjvJjq
以前は書けたんだけどなあ?
言葉で説明するのが面倒だからコード書きたかったんだけど
書けないならまあいいや
もう少し自力で調べる
2018/09/29(土) 18:34:36.64ID:KFN0J1D4
>>1にも書かれてるideone使えば良いじゃん
2018/09/29(土) 18:45:21.77ID:SXeyKQEb
cdnの規制に引っ掛かってるのでは?
2018/09/29(土) 19:26:59.78ID:rSQsiXYH
5chに書くなら文字数が多すぎると書き込めないんじゃなかったか
945デフォルトの名無しさん
垢版 |
2018/09/29(土) 23:40:45.60ID:tm+cu+QY
出でよ、イデオン
2018/10/01(月) 21:21:37.68ID:GAigBMDv
C#でshortの配列をushortの配列として扱うにはどうしたらいいのでしょう?
ushortの配列を確保してそこにブロックコピーすればいいのですが、コピーせずに扱いたいです

Cでの例
short data[1000];
data[0] = -3;
ushort out = ((ushort*)data)[0]
2018/10/01(月) 21:29:45.12ID:ySL85z/t
>>946
C#でも共用体は作れるので、それでやるのが正攻法だろうね
2018/10/01(月) 21:30:26.35ID:lLn/Vvr8
>>946
ポインタ使うかSpan<>使う
いずれにせよunsafeは避けられない
2018/10/01(月) 21:45:52.11ID:GAigBMDv
ありがとう

short[] data = new short[1000];
data[0] = -3;
data[1] = -5;

ushort out1;
ushort out2;
unsafe
{
fixed (short* p = data)
{
out1 = *(ushort*)&p[0];
out2 = *(ushort*)&p[1];
}
}
2018/10/01(月) 22:03:04.13ID:rOV5V8ry
>>949
fixedブロックの中は
 ushort* p2 = ( ushort * )p;
 out1 = p2[ 0 ];
 out2 = p2[ 1 ];
の方が完結。

その使い方ならunsafe使わずキャストするだけで良い気がするけど
 ushort out1 = (ushort)data[0];
 ushort out2 = (ushort)data[1];
951デフォルトの名無しさん
垢版 |
2018/10/02(火) 14:52:23.87ID:lpR7dPFU
初心者な質問で申し訳ありませんが
if 〜else if〜で50個くらい分岐作りたいんだけど
これは上に書いたのから順に条件判別するんですかね?
てことは出現確率の高い条件から順に上から書いていけば
全体に早いシステムができるってことですかね?
それはswitch 〜case〜でも同じですか?
2018/10/02(火) 15:07:02.75ID:ibUSG6OV
>>951
そうだけど、そんなので速度は稼げない
素直なメンテしやすいコードにしておかないと結局バグってて遅いゴミシステムが出来上がるぞ
953デフォルトの名無しさん
垢版 |
2018/10/02(火) 15:13:05.30ID:lpR7dPFU
そうですか〜読みやすさ重視ですか〜
2018/10/02(火) 15:25:17.74ID:giBEQZ0B
読みやすさとかそういう問題ではない
断言するが、お前のプログラムのボトルネックはそんなところにはない
そういうくだらないことに時間を無駄に使ってると、バグ潰しをしたり本当のボトルネックを見つけて改善したりする暇がなくなり、
結果的にバグだらけでゲロ遅く使い物にならない糞が出来上がる
955デフォルトの名無しさん
垢版 |
2018/10/02(火) 15:33:51.14ID:77rOVAHm
>>951
もちろんそうだよ
ついでに言えば、else ifは使わずifとreturnをうまく組み合わせて使うと更に早いんじゃないかな
2018/10/02(火) 15:40:49.43ID:sf+Shg+9
>>951
判定する条件式の中にすごく重い関数の戻り値があるなら極力避けた方が速くはなるが。。。
ここの諸兄たちが言うようにあんまり気にしない方がよかとね
2018/10/02(火) 15:52:19.51ID:xEUi7AEU
50分岐なのか単に一か所に50ifが並ぶのか分からないけど、
どっちにしろまず設計がおかしいことを疑うレベルだねw

それが必要になるケースは絶対にありえないとまでは断定できないけど、
普通に考えれば何か間違ってる
958デフォルトの名無しさん
垢版 |
2018/10/02(火) 19:15:29.75ID:77rOVAHm
文字の判定やらデコードやら色々あるから別におかしくはないんじゃない
2018/10/02(火) 20:19:02.96ID:vJb5Fq5Q
>>951
switchでcaseがすべて数値か文字列の定数ならif〜else if相当ではなくてジャンプテーブルに変換されて最適化される
2018/10/02(火) 20:30:20.49ID:bw+oM93m
>>958
そんなん一気にif文で判別するのおかしいよ
個々の判定を別メソッドに切り出すべき
2018/10/02(火) 20:34:18.50ID:LVKvBfXE
>>960
んで呼んだら50行並ぶんですね
わかります
2018/10/02(火) 20:35:28.70ID:V4PRuizJ
>>957
コンパイラ作った時にあったよ
普通に素で解析するときはそうなる
2018/10/02(火) 20:38:43.68ID:V4PRuizJ
リッチ―の作ったCコンパイラもずらっとswitchの下にcaseが並んでる
しかもgotoだらけ
2018/10/02(火) 22:31:24.70ID:71TIb3fi
ふと思ったが、ifやswitchよりデリゲートの配列で組んだ場合、可読性は別としてどんなもん?
2018/10/02(火) 22:33:29.94ID:71TIb3fi
ん、951は通信電文の解析処理を組もうとしてるのかな?
2018/10/02(火) 22:51:46.79ID:PHVx+viB
>>964
単純な数値による分岐なら50くらいだとif並べたほうが速いだろうな
2018/10/02(火) 23:53:56.61ID:71TIb3fi
おお
そっか
2018/10/03(水) 03:19:05.44ID:1BUWQtFr
いやいや、ビルドした時点で単なる条件分岐文の羅列に変換されるんだから
早いも遅いも無い
2018/10/03(水) 06:32:57.32ID:GxEu0OX8
ILではifの羅列に変換されてるね
970デフォルトの名無しさん
垢版 |
2018/10/03(水) 10:25:12.89ID:53fMVr1s
今試してみたけど条件の羅列にはならなかったよ
ただ実験は同じ関数を大量に登録するだけだけど、実際に使うにはデリゲート配列に関数を登録する所がめちゃくちゃになりそうだ
2018/10/03(水) 19:45:09.01ID:vaeuJqrS
ライブラリ制作でもなきゃ
ILコードの速度より可読性優先でしょ

最近は性能がトレンドだけだも
2018/10/03(水) 19:49:00.54ID:WJ9CzqGu
だきゃだも
2018/10/04(木) 10:27:45.19ID:AqgyV2h4
ドラえもん
974デフォルトの名無しさん
垢版 |
2018/10/04(木) 11:35:52.27ID:z7XJZMIb
VisualStudio2017とC#でDLLとEXEのプロジェクトを含んだソリューションを構成しているのですが、
EXEのプロジェクトはブレイクポイントで止まるのにDLL側のプロジェクトはブレイクポイントを設定しても止まりません。
どうすれば止まるように設定することができるのでしょうか?
2018/10/04(木) 11:42:31.93ID:z7XJZMIb
>>974
事故解決。
DDLの参照設定に誤りがありました。
無事ブレイクポイントで止まりました。
2018/10/04(木) 12:09:23.53ID:HivlLKp0
>>975
質問したならせめてどう設定したのか書いてくれると助かる
2018/10/04(木) 12:11:58.26ID:LF7COV6m
プロジェクトじゃなくてアセンブリを直接参照したんだと思うよ
2018/10/04(木) 17:53:02.89ID:JnxMNCXd
正規表現で、特定の変数に格納された文字列が行頭に含まれるときにマッチさせたいのですが
変数にメタ文字が含まれているとそのままメタ文字として機能してしまいます。
\Q〜\Eを使おうとすると認識されないエスケープシーケンスと出てしまうのですが
呼び出した変数をエスケープする方法はありませんか?

string tag = "."; //この変数はユーザー入力により可変させたい
Regex r = new Regex("^"+ tag, RegexOptions.Multiline);
MatchCollection mc = r.Matches(text, 0);
2018/10/04(木) 17:57:50.18ID:+1iioCH6
何を言ってるのjかさっぱりわからないけど
\のエスケープは\\だよ
2018/10/04(木) 18:03:01.48ID:JnxMNCXd
>>979
「.」が代入された変数をマッチ条件として呼び出したときに
「\.」として読ませたいんです…… 説明下手ですみません
2018/10/04(木) 18:06:55.71ID:+1iioCH6
やっぱり意味がわからないよ

string.Replace
2018/10/04(木) 18:09:55.61ID:+1iioCH6
行頭マッチならstring.StartWith()
983デフォルトの名無しさん
垢版 |
2018/10/04(木) 18:09:57.35ID:58olDMZF
Regex.Escape
2018/10/04(木) 18:14:09.25ID:JnxMNCXd
>>983
これでした! ありがとうございます!
Regex r = new Regex("^"+ Regex.Escape(tag), RegexOptions.Multiline);
でいけました
2018/10/04(木) 18:35:26.88ID:A2T5Igf7
ID:+1iioCH6
2018/10/04(木) 18:42:53.36ID:+1iioCH6
スレ汚し失礼しましたとか書けばいいのか
2018/10/04(木) 18:44:59.38ID:hCvwn5pe
>>980
次スレ立てて
立てられないならそう書いて
2018/10/04(木) 18:50:46.18ID:JnxMNCXd
あっ980踏んだの気付いてませんでした
立ててきます
989デフォルトの名無しさん
垢版 |
2018/10/04(木) 18:57:34.68ID:JnxMNCXd
https://mevius.5ch.net/test/read.cgi/tech/1538646998/
2018/10/04(木) 18:58:45.39ID:iLCCeyjR
>>986
恥ずかしい奴ってことで晒されてるんだぞ
2018/10/04(木) 18:59:38.71ID:hCvwn5pe
>>989
スレたて乙
992デフォルトの名無しさん
垢版 |
2018/10/04(木) 19:30:48.59ID:NR8ALYp6
アプリで使用する最大スレッド数ってどう決めるのがいいですか?
2018/10/04(木) 19:32:22.83ID:hCvwn5pe
>>992
動作環境に配慮する
動作スレッド占有したら迷惑かもと思ったら少なくする
994デフォルトの名無しさん
垢版 |
2018/10/04(木) 19:32:31.16ID:NR8ALYp6
単純にCPUのスレッド数を最大に設定しておけばいいですか?
それともCPUのスレッド数-1とかの方がいいのでしょうか?
なんか決め方に基準とか規則とかって考え方あったら教えてください
995デフォルトの名無しさん
垢版 |
2018/10/04(木) 19:33:24.53ID:NR8ALYp6
>>993
そうそう今まではこのように
少し曖昧な形で決めてたのでなんか明確なやり方あったらなあと思って
書き込んでみました
2018/10/04(木) 19:33:38.12ID:hCvwn5pe
>>994
無いよそんなもの
仕事でやっているのなら会社の先輩なりクライアントに聞いて
997デフォルトの名無しさん
垢版 |
2018/10/04(木) 19:36:48.58ID:NR8ALYp6
>>996
無いっていうのはどんな設定しても
結局スレッドのコントロールはOSレベルでされるし
アプリケーションの処理内容次第で占有率とかが違うからってことですか?
2018/10/04(木) 19:49:35.37ID:SzxHzs6N
tiffのヘッダ情報を参照する方法ってどのようにすれば良いのでしょうか
画像読み込みは見つかるのだけどヘッダ情報参照方法が見つからず
2018/10/04(木) 20:53:42.03ID:4K2yXx2T
>>992
case by case
2018/10/04(木) 21:07:43.98ID:hGGFGhl9
System.Drawing.Bitmapに読み込んでPropertyItemsから取得する 全部取れるわけではない
System.Windows.Media.Imaging.BitmapMetadataを使う 大体取れるはず
ヘッダだけ読んで画像データは読み込みたくない!ってなら標準ライブラリには存在しないな
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 60日 1時間 12分 0秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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