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

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

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

■関連スレ
C#, C♯, C#相談室 Part95
http://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
http://mevius.5ch.net/test/read.cgi/tech/1517749348/

■コードを貼る場合は↓を使いましょう。
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/
-
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
2018/03/11(日) 18:45:57.52ID:xH7ziL+Z
本当にファイルを開きっぱなしにしたいの?
2018/03/11(日) 19:00:54.30ID:v3WfRQw8
局所的にusingでいいんじゃね
2018/03/11(日) 19:06:58.01ID:dxsKvpqu
>>190
IDisposeインターフェイスを実装したオブジェクトならusingを使う、ILになれば結局同じ様なコードだけど
Formで持つなら保険はvoid Dispose(bool)で行う、VSフォームデザイナーだと*.Designer.csでoverrideされてる
開くのはFormShownなら例外ダイアログ設定後だしコンストラクタより良さそうだが…しかし開く対象は固定なんかな
2018/03/11(日) 20:27:46.27ID:KWlCmpPd
C#でASP.NET WebForm を使うことになりました。
そこでLINQに関する質問です。
なにぶんC#もLINQもよくわかっていないので
ご教授よろしくお願いいたします。

1) LINQ による列挙は、スレッドセーフでしょうか?

ローカル変数にメソッド構文で何らかのLINQクエリを記述して
メソッド内で使用する場合には、スレッドセーフでしょうか?
→ lock 文などは不要ですか?

2) 拡張メソッドを作成して内部で yield return 文などを使用して
LINQ のメソッド構文で使用する場合、yield return 文を
lock 文で囲む必要はありますか?

3) 以下のページの最後の方で、中信頼性とか高信頼性とかの記述が
でてきますが、ASP.NET でLINQを使う場合には、web.config に
これらの設定が必須ですか?

'https://msdn.microsoft.com/ja-jp/library/bb907622(v=vs.100).aspx

以上です
2018/03/11(日) 20:38:13.04ID:PLvoLZo8
>>190
落ちる前にストリームを閉じるのはたぶん無意味なので
無理してusuingやtryのブロックで囲う必要はないと思う。

open/closesするタイミングは教条主義的に考える必要はないでしょう。
要は必要になる前にopenして必要なくなった後にcloseすればよいだけ
196デフォルトの名無しさん
垢版 |
2018/03/11(日) 20:44:38.34ID:lvju0XX+
>>195
たぶんで答えるな
てか知らん事に答えようとすんな
2018/03/11(日) 20:53:10.61ID:dF1Cj7yy
>>190
そのフォームを開く Program.Main だっけでやればいいんじゃない?

using( var stream = (ファイルを開く)) {
Application.Run(new Form1( stream )); // フォームのコンストラクタの引数にでも渡してやる
}

ただ本当にファイルを開きっぱなしにする必要があるのかとか、きちんと検証する事をおすすめ。
2018/03/11(日) 20:57:33.66ID:PLvoLZo8
>>196
たぶんは婉曲表現で本当は確実に必要ない
お前くそくだらない突っ込みではなく意義のある発言をしろ馬鹿
199デフォルトの名無しさん
垢版 |
2018/03/11(日) 21:07:56.85ID:lvju0XX+
>>198
確実にお前の理解が足りてない
意地張るな、な?
2018/03/11(日) 21:16:59.78ID:xf8GjCk5
運用中にファイルの中身を確認できないファイルとな?
開いたらアプリもろとも死んでもらうまさに漢の中の漢よ
2018/03/11(日) 22:34:52.34ID:Aj3DuHB+
>>194
スレッドセーフかどうかが問題になるようなコレクションを
ASP.NETのスレッド間で共有する必要があるのか考えたほうがよさげ

1) スレッドセーフではない。
lockが必要かどうかは使い方次第
https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1.getenumerator?view=netframework-4.7.1

2) IEnumerable<T>を自前で実装する話ならyield returnをlockで囲んだところで意味ない
必要なら呼び出し側で対処する

3) 知らん
2018/03/11(日) 22:41:38.87ID:baL9gt0u
別に普通でしょ。例えば、アプリのローカルフォルダにある設定ファイルは基本アプリの1インスタンスにのみ有効であるべきで、アプリ起動時に設定ファイルを書き込み権限でオープンして他は読み取りのみにしておけば、二重起動防げるし。
むしろ、設定ファイルを他から勝手に変更されないようにそうすべきであるし。

フォルダ変えれれば厳密な二重起動は防げんけど。
2018/03/11(日) 23:09:46.06ID:G7UGiphU
>>201

ありがとうございます。
教えていただいたURLを調べてみます。
2018/03/11(日) 23:15:47.74ID:gqF9MiU9
>>202
どこの国の普通?おじいちゃん?
2018/03/11(日) 23:25:00.03ID:gqF9MiU9
おじいちゃんのやり方がことごとく常識外れ過ぎる
なのにドヤ顔で間違った事ばかり書いてくる
206190
垢版 |
2018/03/11(日) 23:46:06.06ID:+qdItvv1
>>191-193
ログ出力と、あまりOpen/Closeを連続でしたくない外部機器を考えています。
void Dispose(bool)調べてみます。

>>195-199
繋がっている外部機器を出来る限りCloseしたく、usingが使えないので下を試したのですが、
こういう事はダメなようで、定石みたいなものがあればと質問させて頂きました。
try{
  Open
  Application.Run(new Form());
}finally{
  Close
}
2018/03/12(月) 00:45:48.96ID:Ok4d75rJ
>>206
open/closeがデバイスハンドルの取得/破棄のことを指してるなら
やはり通常はアプリが異常終了する場合のことを考える必要はないと思う
(プロセスが落ちれば勝手に閉じられる)

そういう話ではなく、例えば232Cとかから何か送信する必要があるとかなら、
http://www.atmarkit.co.jp/ait/articles/0507/01/news134.html
これを利用するのが普通じゃないかな
2018/03/12(月) 00:46:52.39ID:Ok4d75rJ
っていうか、ファイルじゃなかったのかw
2018/03/12(月) 01:52:29.42ID:uqwSBh4C
VS2010使ってます。

/// と入力した時のコメントの色を変更したいんですけど

/// <summary> ← この部分

Tool→Option→Environment→Fonts and Colors→ Display items
の中のどれのフォントを設定すればよいのでしょうか?

背景色を黒、文字色を黄色にしたです!
2018/03/12(月) 01:58:56.52ID:P6b6g7+Q
>>209
自分で1つずつ設定するのは大変だから、設定済みのスタイルをインポートするのがおすすめ
お気に入りの色の組合せダウンロードしたら、「ツール」→「設定のインポートとエクスポート」とかで出来たはず
https://studiostyl.es/schemes
2018/03/12(月) 09:27:50.49ID:uqwSBh4C
>>210
自分の好みの色に変えたいんですよね。
例えばコメントの類は黄色
といった具合です。
2018/03/12(月) 11:15:09.08ID:wJJ3vVe4
XML ドキュメント コメント - テキスト

このへん
2018/03/12(月) 13:07:46.38ID:uqwSBh4C
>>212
サンキュー
2018/03/12(月) 13:40:31.58ID:wJJ3vVe4
>>213
どういたしまして
215デフォルトの名無しさん
垢版 |
2018/03/13(火) 00:20:52.15ID:Odo9QKBD
コンストラクタの引数に型を渡して中で利用したいのですが
どのようにすればいいでしょうか?

public class Hoge
{
 public Hoge(MyClass)  ←引数にMyClass型を渡したい(MyClass型の他にも様々な型を渡せるようにしたい)
 {
  new Fuga<MyClass>(); ←MyClassをこのように利用したい
  ...
2018/03/13(火) 00:26:24.49ID:ddUI/fLh
>>215
ジェネリクス
217デフォルトの名無しさん
垢版 |
2018/03/13(火) 00:26:57.35ID:Odo9QKBD
自己解決しました
218デフォルトの名無しさん
垢版 |
2018/03/13(火) 00:27:13.56ID:Odo9QKBD
>>216
すみません、ありがとうございます
2018/03/13(火) 00:57:32.21ID:/h3xSJ+X
>>215
まあ、インターフェースだな
2018/03/14(水) 01:01:17.69ID:m+3G+xXH
unity上で人間の視覚を表現することってできるでしょうか?
人型のモデルの頭に2台のカメラを搭載して、その映像をもとに
別窓でリアルタイム3Dモデリングをさせたいのですが
2018/03/14(水) 02:19:45.27ID:FlaHjwms
それは、このスレではないな
2018/03/14(水) 10:10:35.96ID:dHyAKo2T
視差とかステレオカメラで検索すれば原理はいくらでも出てくるが、
実装となるとがんばれとしか
2018/03/14(水) 11:12:27.04ID:ROGqoRwU
Intel RealSenceはC#でのサンプル開発例がネットに転がってると思う
2018/03/14(水) 14:05:02.41ID:x3Fz4Pwf
C#から指定したパスにあるBATファイルを実行する為に
次のコードを記述しました。しかし、なぜかDOSが起動しません。
何が間違っているのでしょうか?
直接バッチファイルをキックすると動きます。


string path_dayo = @"C:\Users\mariokun\test.bat";
System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo();
psi.FileName = path_dayo;

System.Diagnostics.Process p = System.Diagnostics.Process.Start(psi);
2018/03/14(水) 14:24:14.78ID:dHyAKo2T
ユーザーの下だから、アクセスする権利が無いとか
試しにC:\testとかフォルダ作って、その中でやってみたらどうかな?
2018/03/14(水) 14:31:30.29ID:tgt6PWyO
C#以前の話だけどProcessにcmd指定するの禁止なの?
2018/03/14(水) 15:44:35.53ID:9afmhkEC
最近使ってないから怪しいものだが、確かProcessに標準エラー出力をみるプロパティーかメソッドのようなものが有った気がするので
エラー見たら判るかもしれんね
2018/03/14(水) 16:09:22.74ID:x3Fz4Pwf
>>225 >>226 >>227
海外サイトに同じ質問してる人がいた。
みてみまーす
2018/03/14(水) 17:51:15.29ID:m+3G+xXH
>>222,223
ありがとうございます
2018/03/14(水) 22:03:23.06ID:o9PP0UYA
>>224
ユーザー名違うけどユーザーフォルダ直下で普通に起動する
https://dobon.net/vb/dotnet/process/shell.html
>ProcessStartInfo.UseShellExecuteプロパティがTrueである必要があります
あとはC#以外の要素、例えばtest.batの中身に因るのか
関連付けに頼らず本来の方法であるCMD.EXEと引数に変えてみるとか
2018/03/15(木) 17:01:20.38ID:OFI+/e24
visual studio 2015を使ってます
Nugetでいくつかのパッケージを導入したのですが、ビルド時にパッケージだけを/debug/vendorフォルダへ移動させて/debug直下をスッキリとさせたいのですが、そういうことは出来るのでしょうか。
2018/03/15(木) 17:43:33.35ID:hfQcS2x0
ずっと2010使ってるけどさすがに2015あたりに俺も
乗り換えたほうがいいのかな?
2018/03/15(木) 17:46:24.44ID:m1Pb8szy
インテリセンスの利き方が違うし、やっぱり新しいIDEの方が洗練されてるのねん
2018/03/15(木) 17:58:50.65ID:UhGUJU8S
UIがモダンな感じになっていいぞ
2018/03/15(木) 17:59:31.07ID:hfQcS2x0
じゃ、そろそろ乗り換えるか。
2018/03/15(木) 18:10:48.50ID:LOd8Ik0+
個人なら2017でいいだろ
アホみたいにアグレッシブにアップデート入れてくるから時々動かなくなったりするけど
2018/03/15(木) 18:14:24.77ID:hfQcS2x0
昔は有料だったけど今VSは無料だよね?
2018/03/15(木) 18:16:17.46ID:vwwhEuwP
Community エディションは無料
2018/03/15(木) 18:22:29.26ID:Nomi5wj3
>>231
IDEの機能の話は専用スレでやれ。その方が早い
Visual Studio 2015 Part8©2ch.net
https://mevius.5ch.net/test/read.cgi/tech/1484855822/
>>237>>238
2017まではExpress editionもある
2018/03/15(木) 18:24:12.93ID:wy9qzwcH
>>239
2017のExpressはDesktop版だけだけどね
2018/03/15(木) 18:25:28.67ID:OFI+/e24
>>239
返信ありがとうございます。
質問先のリンク助かります。
スレ違い失礼しました。
2018/03/15(木) 21:37:17.95ID:lQYzxnHH
ここで質問で合ってるかわかりませんが、質問です
WPFのNuGetでTesseractを入れて使ってるんですが、
DLLをEXEに埋め込みたくなって、いろいろ試したのですが、うまくいきませんでした

一つはcsprojをいじってDLLを埋め込み、スタートオブジェクトを変えてアセンブリを読み込む方法
これはDLLがないと言われてエラーが出ました
もう一つはCostura.Fodyを使った方法で、TesseractEngineのコンストラクタの引数がおかしいと言われます

いずれも埋め込まずに普通に作ると動くので、何かしらが悪さをしてる感じです
DLLからDLLを呼んでいる場合などにマージがうまくいかないとネットに書いてありましたが、それかもしれませんが確証はありません
なにかうまいやり方があったら教えてほしいです
2018/03/15(木) 21:39:04.95ID:8s0v/J9G
>>242
ILMerge
2018/03/15(木) 21:41:26.54ID:lQYzxnHH
>>243
ILMergeはWPFでは使えないとネットに書いてあったので試してなかったのですが、
一応調べてみますありがとうございます
2018/03/15(木) 21:43:34.26ID:8s0v/J9G
あ、Xamlかごめん
2018/03/15(木) 22:38:11.69ID:9PNbTFft
マシンがポンコツだったらVS2010のままがいいと思うけど
2018/03/15(木) 22:41:12.85ID:i5gA+aI/
>>246
VS2015は辛いけど、2012や2013はそこそこ軽いと思うが
2018/03/15(木) 23:02:51.90ID:564IsbOI
俺環の割とポンコツなWindows10のPCで数万行のソース扱うのにVS2015よりもVS2017は軽い
更新が頻繁なので不具合が怖いのなら勧めない
2018/03/15(木) 23:14:46.01ID:eOZcuNU1
うちでも 2017 の方が軽かったので 2015 は削除しちゃったな。
2015 は仕事で3年くらい前のハイスペックノートPC で使ってるけど、こっちでは快適に動いてる。
たぶん SSD の有無の違いだと思う。
2018/03/15(木) 23:14:54.49ID:G4lYZ6Ln
うちは自社サービスのベンチャー企業だけど、そんなところですら2017のアップデートはヤバいから即更新はやめろと言われてるわ
それくらいヤバイ
2018/03/15(木) 23:17:53.56ID:xYxZI4zx
>>250
cuda が突然コンパイルできなくなってしまった…
2018/03/15(木) 23:18:27.31ID:OyYl/4tP
プレビュー版せっかく提供してくれてるのに使ってないの?
2018/03/16(金) 00:19:13.55ID:UGxuTSYH
VS2010は、

Corei7で今のところサクサク

ゲーミングマシンだからね。
2018/03/16(金) 01:46:06.61ID:4NPyRaAF
>>253は初心者さんのフリした上級者の釣りなのかそれとも本当にnoobなのかどっちなんだろう・・・
2018/03/16(金) 01:46:48.12ID:YQujD0/w
さすがに今時async/awaitすら使えない2010に固執してるのは老害を自覚すべき
2018/03/16(金) 07:27:51.70ID:j2EKGffa
まだ人間に進化してないだけだから許してやれ
2018/03/16(金) 07:36:24.07ID:YQujD0/w
2017これだけアップデートしまくってて次のバージョンどうするんだろうな
どこかで打ち切って今後の更新は2020買ってねにしたとしても、十分に差が開くまでだいぶ時間がかかりそう
MS的にはVSの売上ってほとんどがサブスクリプションらしいから、このままローリングアップデート&サブスクリプションモデルに移行するのかな
2018/03/16(金) 10:09:27.69ID:UGxuTSYH
>>254
初心者ではないかな。
ただ、道具が古いから宮大工と化してる。
2018/03/16(金) 20:53:41.08ID:nemrSVup
>>250
別に珍しくないだろ
製品作る環境と最新版のお試し環境を分けてるって普通じゃね?
2018/03/16(金) 20:58:16.26ID:nemrSVup
>>258
なんで宮大工が出てくるのかわからんけど、宮大工ってスーパーエリートだぞ
2018/03/16(金) 21:40:09.64ID:xjOcwCvy
>>253
Core i7っていつのだよ
10年位前のから現行のまで沢山あるぞ
2018/03/16(金) 21:51:33.66ID:MNSKZY2x
>>261
未だに3桁ナンバーのi7だけど流石に2015以降は参照表示でもたつきあるな
263242
垢版 |
2018/03/16(金) 23:07:21.34ID:hJQANr44
なかなかうまくいかないですが、諦めも肝心なので
2018/03/16(金) 23:58:39.77ID:ObjPIdw2
>>260
だからEクラスなんでしょ?
5段階評価で
2018/03/17(土) 00:27:17.49ID:RBvH9ws3
宮大工は一般の大工が持っていない技能を有しているから価値があるんだろ
きっと258の周りには、自分の使ったことのあるバージョンよりも古いバージョンのVSを使わせたら
ストレスで気が狂ってしまう特殊な人が集まっているのだろう
2018/03/17(土) 00:45:38.67ID:81xIwi7x
宮大工が高層ビル建てるわけじゃねーし
いらねーだろ
2018/03/17(土) 00:57:29.49ID:AFPHSGxF
>>61
まじか。
3念位前のやつや

そこそこいいCPU思ってたのに。
スレッドりっぱー言うヤツかおうかな。
2018/03/17(土) 02:49:21.97ID:Ci5roxTl
いやいや、CPUの世界はムーアの法則が成立しなくなって10年以上経つ
もうPCが2,3年で旧式化するような時代じゃない
買い換えても体感できる差なんか生じないはず
2018/03/17(土) 02:54:05.45ID:qzfhHg+K
xeon phi意味無いのけ?(泣)
2018/03/17(土) 02:55:49.69ID:AFPHSGxF
スレッドリッパーに乗り換えるでぇ!!!

Core i7 でもVS2010は結構サクサクなんやでぇ〜〜〜!!!
2018/03/17(土) 09:12:19.89ID:Y0/A+N6A
>>264
F欄乙
2018/03/17(土) 11:29:52.43ID:CNXWa26n
なんだこのアホな流れ
ム板なのに池沼おおすぎ
2018/03/17(土) 12:23:47.36ID:Y3xdMG3N
池沼?猿が一匹いるだけだって
2018/03/17(土) 15:46:46.56ID:M3SRgPTg
おじいちゃんは無自覚
2018/03/17(土) 22:53:57.33ID:OInIw7xo
>>255
async/awaitってGOTO並みにバグの温床じゃね
2018/03/17(土) 22:55:06.66ID:RxkyGAdz
>>275
流石にawaitのスレッドがどう動いているか知らずに作っている人は居ないだろ




居ないよな?
2018/03/17(土) 23:11:42.27ID:9trEGhAn
>>275
ねーよ
2018/03/17(土) 23:30:53.21ID:r9/bjmm+
>>275
勉強しましょうねおじいちゃん
2018/03/18(日) 00:01:00.32ID:0OkoAdUr
>>275
負け惜しみ乙
2018/03/18(日) 00:05:42.06ID:LfFBDSxt
最近非同期あんまり必要ねぇな
2018/03/18(日) 00:36:08.73ID:EuAIJOKr
ちゃんと原理を知っていれば問題ないと思うけど
ちゃんと教えてくれる親切な存在が非常に少ない

GUIがそこでメソッドの終了を待機しますなんてクソみたいな解説は死ねばいい
2018/03/18(日) 00:47:54.07ID:LfFBDSxt
>>281
っていうかどっちかっていうと
必要になるときの仕様と機能にズレがあるような
2018/03/18(日) 08:41:34.51ID:loIla1VR
uwpは非同期前提でライブラリ組まれているから
ファイルとか通信弄ったら強制的にasync使わされるな
2018/03/18(日) 09:23:43.99ID:LfFBDSxt
>>283
マジで?

ファイル弄ってる間何しろって言うんだろうねw
@ファ
Aファ
Bファ
Cファ
Dファイルオープン!
ってユーザが押したら
デフォルトで@〜Cも実行されんの?
2018/03/18(日) 09:40:47.42ID:CHE7gnWF
>>284
@のオープン処理のawaitで待つのでオープン処理が排他で開きっぱなら、@のオープンが終わった後にA〜Dでオープン失敗で例外吐くんじゃね
2018/03/18(日) 09:49:55.53ID:LfFBDSxt
>>285
いや、await使わなかったとき
2018/03/18(日) 10:08:23.31ID:CHE7gnWF
>>286
待機せずに実行ならどれか一つがオープン処理が終わって他が失敗で例外やね、まず@が最初に終わるだろうけど
非同期当たり前だと、待機中の操作で悪さできないようにに考えないといけないのがまた面倒だわな
2018/03/18(日) 10:15:30.86ID:LfFBDSxt
>>287
100個処理ある内のあって2〜3個ぐらいの動作をデフォルトにしたのか
気が狂ってるな
2018/03/18(日) 11:28:06.55ID:loIla1VR
>>284
ファイル弄る前にボタンを無効化するだろうが・・・
2018/03/18(日) 11:32:15.68ID:MxU9Q35+
>>289
処理中はWinFormだろうが入力無効にするな
そういう安全策とらずに文句言うのが初心者らしくていいじゃん
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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