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

■ このスレッドは過去ログ倉庫に格納されています
2020/05/27(水) 10:14:39.92ID:wHIUQvvs
■前スレ
ふらっと C#,C♯,C#(初心者用) Part147
http://mevius.5ch.net/test/read.cgi/tech/1582100741/
■関連スレ
C#, C♯, C#相談室 Part94
http://mevius.5ch.net/test/read.cgi/tech/1553075856/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/

■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
http://referencesource.microsoft.com/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
2020/06/27(土) 11:25:38.52ID:k1sG5WNB
python始めたけどインデントでブロックになるなんて糞だと思ったわ。
2020/06/27(土) 11:34:22.91ID:qJyof1ZF
8.0から使えるswitch expressionのことじゃない?
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/operators/switch-expression
2020/06/27(土) 12:04:53.13ID:2aBVemHB
一番近いのはRustのmatchかな?
まあイマドキのは似たような構文結構あるで
2020/06/27(土) 15:24:53.61ID:Fil4ka9J
>>335
インデント?
switch文って結構仕様違うぞ
C/C++はcaseに整数に評価できる定数しか書けないけどC#7.0は文字列とかも書ける
VBAは(switchじゃないけど同等のSelect Case文の)Caseには 1 To 2の形式で範囲書いたり、1, 2, 5とかで複数の選択肢を書けたりする
340デフォルトの名無しさん
垢版 |
2020/06/27(土) 15:34:06.67ID:QSLeN3Uh
switch が整数のみのときは
id 毎に id を key にして関数 (Action とか Func) を value にして
そのままテーブル参照で関数に飛ばすのが C/C++ と親和性が良い
2020/06/27(土) 16:17:48.62ID:I/sSKApj
>>340
こういうアホがコードを無駄に複雑にして見通しを悪くする
2020/06/27(土) 16:27:40.21ID:HPebGJtJ
>>340
2020/06/27(土) 18:06:53.32ID:/Di+UKtI
ではもう少しスマートな解決方法示してくれませんかね?
2020/06/27(土) 19:13:34.61ID:1qWAlezY
そのままC/C++でコンパイルもできないのに親和性とかよくわからんものにこだわってコード読みにくくして誰が得するの
2020/06/27(土) 19:29:11.89ID:Fil4ka9J
要件が不明確な状態で議論しても無意味だし
2020/06/28(日) 07:06:26.39ID:ltJ6HbID
意味分からんけど今後は親和性重視で行くわ
347デフォルトの名無しさん
垢版 |
2020/06/28(日) 13:28:40.67ID:h57n4OGN
東京アラートはよ
2020/06/28(日) 16:19:28.11ID:xy8oD7Jo
デバッグが面倒になるだけの気がするけどまあやりたければやればいい

IDがただの数字で意味を持たないなら別にいいけど意味のある記号なら他のアプローチもあるだろう
ただ要素数がわからんのでどうするかは個別に考えるしかない
2020/06/30(火) 02:10:36.84ID:TjVZdiFx
ASPで
セッション変数って明示的に削除したほうがいいの?
いつか消えるから放置はだめ?
まともな理由がほしいんだけど調べても出てこない
2020/06/30(火) 02:31:40.60ID:3L4XfeFx
ASP(Active Server Pages)の既定の
言語はVBScriptだからスレチじゃないかな?
Web板のほうかな?
2020/06/30(火) 09:06:50.77ID:SDw3+RFk
>>349
放置でいいよ
消すコード仕込んだらコードめちゃくちゃになるでしょ
セッションの使いすぎでメモリが足りなくなるんだったらセッション状態をスケーラブルなサーバー(外部セッションストレージ)に移す
あるいはセッションを使わないようにプログラムを改修する
352デフォルトの名無しさん
垢版 |
2020/06/30(火) 12:14:52.93ID:i/3g7BYw
皆さんPythonとどっちが好きですか?
2020/06/30(火) 12:17:47.22ID:GiU27GCt
そんなカッコ付かない言語は触れねぇ
354デフォルトの名無しさん
垢版 |
2020/06/30(火) 12:20:04.39ID:i/3g7BYw
うまい返しだな
2020/06/30(火) 12:55:04.89ID:ENakWQya
>>349
サーバ側の話だよな
セッションが不要になれぱ消せば良い
ただそれが検知できないだけ
356デフォルトの名無しさん
垢版 |
2020/06/30(火) 13:04:47.10ID:NrFrJ9Y0
>>352
Pythonよりおっぱいがいいかな
2020/06/30(火) 18:58:00.20ID:xlJwr/Le
そりゃPythonかおっぱいかと問われればおっぱいだろ
2020/06/30(火) 19:09:26.86ID:iEkOdn7r
>>352に胸があるかわからないじゃないか
359デフォルトの名無しさん
垢版 |
2020/06/30(火) 19:27:30.16ID:5syfeZMc
https://i.imgur.com/yjWyPKR.jpg
360デフォルトの名無しさん
垢版 |
2020/06/30(火) 21:15:20.63ID:i/3g7BYw
>>358
最近、大きくなって来ちゃいました
唐揚げとか食べ過ぎて
2020/07/01(水) 00:07:20.30ID:3IOwQk8y
>>360
C ++ C#ってほとんどDなんかな?
手に余るような手に負えないような良いサイズ感
最先端に触れちゃいたいけどFはイキ過ぎなんで
>>359はBBQしすぎでしょ
2020/07/01(水) 01:35:37.58ID:c68en2u5
>>359
グロ
2020/07/02(木) 10:11:25.35ID:HaSFIuTi
質問なんですが、サーバーエクスプローラー−データ接続ー接続の追加で
ローカルのデーターベース新規作成したいのですが、データベースファイルのパスを
絶対パスじゃなくて、実行ファイルからの相対パスにできないのでしょうか?

データーソースはMicrosoft SQL Server データベース ファイル (SqlClient)です、よろしくおねがいします
364デフォルトの名無しさん
垢版 |
2020/07/02(木) 16:39:20.61ID:P2k5coQc
接続の方を複数造る方が良いと思う
2020/07/02(木) 19:21:47.02ID:HaSFIuTi
>>364
レスさんくすです
接続を複数作るってのは、SQLiteとかでデータベース作って、SQLServerとかで接続とかでしょうか?
ごめんなさいよくわかりません
2020/07/02(木) 19:26:32.31ID:FYmRe4TQ
何をしたいんだ?
自分が考えた方法はいったんおいといて目的だけを言ってみて
2020/07/02(木) 19:41:27.09ID:bCVa7LJt
>>363
Application.ExecutablePathなどからパスを作らず相対パスでなければならない理由があるの?
2020/07/02(木) 19:45:01.25ID:yyWNrU1A
質問の前に真の目的があって
自分なりに考えた方法だとこうすればできる
でもそれには障害があるのでうまくいかない
んで質問するときには障害を取っ払うにはどうすればいいんですかって質問が化けちまうんだよ
だからまずは真の目的を話せ
2020/07/02(木) 19:53:24.61ID:0i6zzb7G
それだと本人のPCにしかないプログラムを公開するところから始めないといかんのだが
2020/07/02(木) 20:09:50.82ID:5bABENE6
んなこたぁない
2020/07/02(木) 21:10:39.21ID:Ad2HRd1R
やりたいことを書いて頭に「C#」つけてグーグル先生に聞けばだいたい解決する
2020/07/02(木) 21:18:45.12ID:j3S5Aqle
>>368
おおー、これはいいレス
373デフォルトの名無しさん
垢版 |
2020/07/02(木) 21:33:57.17ID:4sq19x0Q
翻訳すると、
ググれカス
2020/07/02(木) 22:29:07.87ID:HaSFIuTi
>>366
さんくすです
SQLを勉強したい→自炊した本のフォルダ名に本の名前書いてあるから
フォルダ名をデータベースに、サーバーエクスプローラーからデータベース作ると
C:\USER\ドキュメントフォルダに.mdfファイルが作られる、これを避けたいのです

>>367
れすさんくすです
もちろん実行パスさえ取得できれば絶対パスでもOKです
ただサーバーエクスプローラーからデータベース作ろうとしたら
Application.ExecutablePath使えなくて

>>368
そのアプリでしか使わないデーターベースの保存先を
実行ファイルと同じ場所にしたいのです、レスさんくすです
375デフォルトの名無しさん
垢版 |
2020/07/02(木) 22:45:15.31ID:cWLbwDw4
>>374
死ねよ
2020/07/02(木) 23:07:05.68ID:R7WrWDDA
社員数分200台のコンピュータに共有フォルダに置いた常駐するexeファイルを実行させたいのですが、半分くらいが上手く起動してくれません
調べてもそういう情報は無いのですが、exeファイルの接続数等に何か制約があるのでしょうか?
2020/07/03(金) 00:27:13.62ID:aiLC+msI
>>376
それC#の質問じゃなくない?
2020/07/03(金) 02:38:45.71ID:hVBUXcHj
>>374
アプリと一緒に、.mdf ファイルも配布すれば?
2020/07/03(金) 04:37:08.56ID:ASRnm0+K
>>374
開発環境と実行環境は別ものと考えるのが常識だ
サーバーエクスプローラーが絶対パスの直指定しかできなくても
アプリケーションは相対パスから計算して接続文字列を組み立てられる
実行時にexeとmdfが揃ってればいい
開発時は別にどこにあってもいい
2020/07/03(金) 06:59:07.42ID:Ul5hp/bW
>>376
実行ファイルはC#なのですがVBでも同じと言われれば同じでした
381デフォルトの名無しさん
垢版 |
2020/07/03(金) 07:26:53.47ID:WuuXk3Fg
共有フォルダに同時アクセス制限が掛かってる可能性ない?
NASとかじゃなくてWindowsが共有元になってると
フォルダ右クリ→プロパティ→共有→詳細な共有で見られる同時に共有できるユーザー数がデフォルトは20になってるはず(ホストがWindowsServerだともっと大きいけど)
スレ違いだけどな
2020/07/03(金) 09:42:19.94ID:/M5CWcWs
>>379
開発時絶対パスでも、実行ファイルの場所に指定しとけば
うまく動くってことですね、ありがとうございます

>>378
さんくすです、アプリに同梱してれば見失わないってことですね
383デフォルトの名無しさん
垢版 |
2020/07/03(金) 12:45:57.57ID:6268sYfp
>>368
ほんそれ
今まで何度も繰り返されてる
384デフォルトの名無しさん
垢版 |
2020/07/03(金) 12:53:55.19ID:ovltho7f
言いたいことは分かるけど、それだと究極的には質問は「年収上げる早道は何か?」になっちゃうよw
2020/07/03(金) 12:56:34.79ID:9FiA0PT2
「不労所得で生活していくには?」じゃないの?
2020/07/03(金) 13:50:51.57ID:BB9T+E2r
>>384
言いたいことを分かった上で敢えて茶々を入れるなら、もう少し面白いとか上手いとか思えるものにしてくれ。
2020/07/03(金) 14:07:43.24ID:/+uSoVK/
CをC#にあげたいんだけど何食べれば良い?
2020/07/03(金) 14:16:05.81ID:aiLC+msI
「石油王になるには?」だろ
389378
垢版 |
2020/07/03(金) 14:19:46.52ID:hVBUXcHj
>>382
ブラウザなど、多くのアプリでは、

パッケージ内にデータベースとして、SQLite3 も入れていて、
それをキャッシュ用に使っている
390デフォルトの名無しさん
垢版 |
2020/07/03(金) 14:26:16.82ID:d7ynYz1d
馬鹿が馬鹿に回答
2020/07/03(金) 14:26:33.28ID:RFZjc7Vw
>>387
ヘリウムガスをほんの少し。加減は分からないので絶対音感のある人に協力してもらって。
2020/07/03(金) 15:01:59.68ID:/+uSoVK/
>>391
胸軽く、心踊る、夏の夜の夢、メンデルスゾーン

好き 好き 大好き HT ML
あんなユメ こんなユメ かなえる
HTで探す MLで建てる
あなたと出会える HTML5ブィングゥ
2020/07/03(金) 15:49:52.93ID:/M5CWcWs
>>389
サンクスです、FireFoxとかみるとデータ保存用にSQLiteとか使ってますよね
単に実行ファイルと同じ場所にデータベースファイル保存したいだけなのに
そんなおかしいことゆってますかね?
2020/07/03(金) 18:32:32.57ID:atDPO4vQ
>>368
それで必要ないReflectionやらコードの動的生成とかに突っ込んでいくんだよな
2020/07/03(金) 20:14:17.82ID:+85BUcO3
>>393
Program Filesとかセキュリティが厳しいところにインストールして
DBファイルに上手く書き込めなくて悩むオチが見える
396デフォルトの名無しさん
垢版 |
2020/07/04(土) 00:51:02.63ID:KIBH4SNT
【借金地獄】マルチ商法で死の淵から生還して得たもの失ったもの【ビジネス論】
https://www.youtube.com/watch?v=UxriU-TOrMY
【実体験】マルチ商法で友達を失うまで
https://www.youtube.com/watch?v=KFDnYlhxPg4
【体験談】元DDがAmwayで稼ぐのが難しい理由を解説してみた【元ガチ勢】
https://www.youtube.com/watch?v=SpzJEddQOdE
【ゲーム理論】マルチ商法が社会に存在してはいけない理由【脱洗脳動画】
https://www.youtube.com/watch?v=6vyrWhhpxf8
あの頃アムウェイはじめちゃったきっかけ【元ガチ勢】
https://www.youtube.com/watch?v=H9C4n4pL03U
【勧誘されてる人へ】マルチ商法をやってはいけない理由【完全論破】
https://www.youtube.com/watch?v=413ULvgJzkg
アムウェイで地味に成功してた僕が業界の裏側を暴露してみた
https://www.youtube.com/watch?v=98udsqJihkA
年間300万円稼げてたのにアムウェイをやめた理由
https://www.youtube.com/watch?v=-H_dBzeJeUM
私がネットワークビジネスを勧めない理由とは?
https://www.youtube.com/watch?v=hQNkcfhzv18
2020/07/04(土) 15:36:15.51ID:LHKtq4vL
>>395
そういや昔のゲームとかインストールするとうそうなったり
MSの迷走
2020/07/04(土) 15:52:25.51ID:9osd3yjI
>>397
ここはPC初心者の知識をドヤ顔で書く場所じゃないから
399デフォルトの名無しさん
垢版 |
2020/07/04(土) 15:57:33.61ID:VcOMs9mw
VirtualStoreがなんとかしてくれるさ
2020/07/04(土) 16:24:29.14ID:MUUOvXMb
そうなんだぁ( ̄σ・ ̄*)フーン
401デフォルトの名無しさん
垢版 |
2020/07/04(土) 16:40:27.72ID:o9siCoc7
Amazonで評判のいい本でC#の勉強をはじめたのですが変数のところで疑問点がでました

12 {
13 int a; // 変数の宣言
14 int b = 3; // 宣言と初期化を同時に行う
15 int add, sub; // 複数の変数を同時に宣言
16 double avg; // int以外の変数を宣言
17 a = 6; // 代入
18 add = a + b; // a,bの和を求める
19 sub = a - b; // a,bの差を求める
20 avg = (a + b) / 2.0; // a,bの平均値を求める
21 Console.WriteLine("{0} + {1} = {2}", a, b, add);
22 Console.WriteLine("{0} - {1} = {2}", a, b, sub);
23 Console.WriteLine("{0}と{1}の平均値{2}", a, b, avg);
24 }

変数の部分はわかるのですが、21-23の表示の部分が引っかかってます
なぜa, b, = a+bのように直接式を立てずに{0} + {1} = {2}に代入するのでしょうか?
2020/07/04(土) 16:45:58.20ID:GB7GwiMy
>>401
Console.WriteLineがそういうルールで書いたら代入するよって決めてるから
2020/07/04(土) 16:47:32.86ID:LQtd/MI8
代入じゃないよ
後ろの引数の0番目、1番目、2番目をここに埋め込むって意味
a + " + " + b + " = " + "add";
現在のC#では直接埋め込めるから基本はそっち使うね
$"{a} + {b} = {add}"; // $""という記法で{式}を文字列に埋め込める
$"{a} + {b} = {a + b}"; // 式なので演算とかも書ける
2020/07/04(土) 16:48:09.31ID:Rckyb2WA
>>401
直接式を立てず、の意味が分からない
どう書くべきだと思ったのか、実際のコードを書いてみて
405デフォルトの名無しさん
垢版 |
2020/07/04(土) 16:57:24.06ID:o9siCoc7
>>402
ありがとうございます
そういうことだったんですね

>>403
ありがとうございます
んーわかったつもりになりそうな予感w
じっくり読んでみますね


>>404
ありがとうございます
Console.WriteLine(a, "+" b, "=" a+b) 的な形をイメージしていました
2020/07/04(土) 17:13:23.19ID:LI34Q8oa
>>405
>Console.WriteLine(a, "+" b, "=" a+b) 的な形をイメージ
その書き方で十分だと思います
2020/07/04(土) 17:24:12.89ID:Rckyb2WA
>>406
コンパイル通らんぞ
2020/07/04(土) 17:27:57.71ID:LI34Q8oa
>>407
ご指摘感謝

>>405
こんな感じでどうでしょうか?
https://ideone.com/lXrcqV
2020/07/04(土) 17:35:35.61ID:DNEaiqy3
403のが活かされてなくて草
ちな文字列内での変数展開やパラメータ指定でのバインドはPHPとかでもよくやるポピュラーな方法でもある
2020/07/04(土) 17:47:52.63ID:Rckyb2WA
>>403のように
Console.WriteLine( $"{a} + {b} = {a+b}" );
が一番スマートだと思う
後ろのはa+bでもaddでもお好みで
411デフォルトの名無しさん
垢版 |
2020/07/04(土) 18:12:12.57ID:o9siCoc7
>>406
ありがとうございます
ふむふむ

>>407
ありがとうございます
そうなのですね

>>409
ありがとうございます
他言語との比較も勉強になりますね

>>410
ありがとうございます
わかりましたー
412デフォルトの名無しさん
垢版 |
2020/07/04(土) 23:20:31.99ID:xyM4Xkey
あから
2020/07/05(日) 13:37:25.73ID:TRZuNrlV
濃淡グラフを描くときに使用するような
カラースケールを選択するコントロールはありますか
やはり自作するのでしょうか
414デフォルトの名無しさん
垢版 |
2020/07/05(日) 13:58:04.62ID:NbYPgepr
http://kaitei.net/csforms/common-dialogs/#item-46
https://dobon.net/vb/dotnet/form/colordialog.html
2020/07/05(日) 13:58:04.61ID:YIH4t/cw
>>413
コントロール全般で使えるようなものは無いし特定のコントロールでも多分無い
カラースケールのルール作りさえ考えたら自分ですぐ作れるよな
https://stackoverrun.com/ja/q/1024222
416デフォルトの名無しさん
垢版 |
2020/07/05(日) 14:00:43.26ID:NbYPgepr
自作した人の話
https://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=28088&;forum=7
2020/07/05(日) 14:14:08.47ID:TRZuNrlV
自作するか別の方法を考えることにします
ありがとうございました
418デフォルトの名無しさん
垢版 |
2020/07/05(日) 14:17:51.15ID:NbYPgepr
基本的に自作するひとのスレ(板)だしな
419デフォルトの名無しさん
垢版 |
2020/07/05(日) 22:06:45.89ID:nZcADY/x
カラースケールって何のことかと思ったらただのグラデーションのことかw
要するにグラデーションの両端の色を同時に選択できるようなダイアログって意味だったのかな?
2020/07/05(日) 22:45:18.91ID:VS9zJ3bZ
色の設定ダイアログボックスで良かったんじゃないかな?実は
2020/07/06(月) 09:56:41.78ID:7tB76G2d
WinFormsでデスクトップアプリを作っています
SoundPlayerクラスのPlayメソッドだと、
音が鳴っているときに別の音を鳴らすと前の音が止まって後の音が鳴るのですが、
前の音は止まらず、後の音が重なって鳴るようにしたいです(これが目的)
SoundPlayerクラスでは無理なら、何を使えば一番簡単にできますか?(これが知りたい)
可能なら音の鳴り終わりもイベントまたはコールバックで把握したいです
2020/07/06(月) 10:23:26.07ID:tSfhZ1lZ
SoundPlayerじゃ無理だね
NAudioでも使えば
2020/07/06(月) 10:55:05.94ID:SSQMtz9B
参考になるかも。自分では試していない。
https://stackoverrun.com/ja/q/237773
424デフォルトの名無しさん
垢版 |
2020/07/06(月) 10:56:03.62ID:vjiPzzt6
一般論だけどWindowsの標準の色設定ダイアログは糞
全部の色を表現出来ていないからあるものの中からは選べない
2020/07/06(月) 11:04:12.61ID:EsDpeV3E
>>424
え?RGBそれぞれ0~255設定できるじゃん
俺とお前の色の設定画面が一致しないんだけど?
426デフォルトの名無しさん
垢版 |
2020/07/06(月) 11:17:03.52ID:vjiPzzt6
もちろん数値入れれば良い

>あるものの中からは選べない

>提示されているものの中からは選べない
(まだ誤解されるかも知れないけどパレットのことじゃなくてグラデーションの方の話ね)
2020/07/06(月) 11:49:28.07ID:EsDpeV3E
>>426
グラデのバーもあんじゃん
正確に何が欲しいのかわかってなくない?
2020/07/06(月) 12:03:37.45ID:VdflHSNv
>>427
そいつはカラーダイアログの使い方がわかってないのかもしれん
半透明色が取れない、って不満ならわかるけど>>426は何が言いたいのかすらわからん
429デフォルトの名無しさん
垢版 |
2020/07/06(月) 12:06:34.59ID:HdfNJv1R
グラデのバーがあるのも知ってるよ
お前らには観えてないんだろ
2020/07/06(月) 12:25:24.04ID:LIPz36zA
具体的にどの色が無いん?
2020/07/06(月) 12:34:10.12ID:EsDpeV3E
凝を怠るなよ
2020/07/06(月) 14:25:56.67ID:7tB76G2d
>>422-423
ありがとうございます
423のMediaPlayerを使うことにしましたが、ちょっと癖がありますね
Waveファイル1つにつき1インスタンス生成して、
連続でOpenで読み込んでるとPlayもしてないのになぜか少し音が出たり
(Muteにしてから読み込むことで対処)、
ファイルのパスはUriで渡す必要があるのですが、exeからの相対パスを
渡しても読んでくれなかったり(絶対パスに変換すればOK)、
Playした後はStopしないと再度Playしても鳴らなかったり
ともかく目的は果たせました、助かりました
433デフォルトの名無しさん
垢版 |
2020/07/06(月) 16:46:38.57ID:LuFD2ngK
>>426
馬鹿は死ね
2020/07/06(月) 23:38:53.77ID:IUHZVJgl
馬鹿が馬鹿にした気になってんのか
これだから低脳は使えねえ
2020/07/06(月) 23:54:01.59ID:fUD+kKA9
>>434
自己紹介は自己紹介板でやってくれ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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