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

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

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

■関連スレ
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part139
https://mevius.5ch.net/test/read.cgi/tech/1533466544/
■コードを貼る場合は↓を使いましょう。
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: checked:vvvvv:1000:512:----: EXT was configured
2018/10/15(月) 13:56:29.01ID:TGR3LnQ40
>>119
ありがとうございます、Debug.Writeを使うようにします。
2018/10/15(月) 15:20:25.49ID:mYzH73J7M
工数一週間以上の開発ならちゃんとしたロギングライブラリ使ったほうがいいよ
2018/10/15(月) 18:16:16.25ID:il4L6pQz0
>>121
全部クソ
なんでキューに入れんねん
キューに積む形のログ出力ライブラリは全部クソ

ログアウト id223しました
ログイン id223しました

ってアホかw
2018/10/15(月) 19:00:08.62ID:SAlDu2eYa
どのログ出力ライブラリの話をしているかは知らないが
キューで実装されているならログ順序は保証されるだろうに
もしくはスレッドセーフでないライブラリを複数スレッドから触っているか
2018/10/15(月) 19:55:33.87ID:il4L6pQz0
>>123
え?スレッド間で?
お前ちょっとだけ頭使ってレスしろよ
125デフォルトの名無しさん (アウアウウー Saeb-pt3f)
垢版 |
2018/10/15(月) 21:07:45.41ID:SAlDu2eYa
>>123
情報が小出しかつ不明瞭だからエスパーしているが
複数スレッドからログ出力する場合の順序が未保証だからじゃないか
それがログ出力ライブラリとして妥当かどうかは更に別の話になるが

キューに積む積まない問わず、いいログ出力ライブラリって何がある?
2018/10/15(月) 21:21:29.42ID:on44pmoFa
最近だとSerilogかな
ファッキンビチグソlog4jのパクリ系じゃないからシンプルで使いやすいし、
後でログの解析が非常に容易
2018/10/15(月) 21:30:24.71ID:E6pr56BO0
 私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
128デフォルトの名無しさん (ワッチョイ dfd2-7vHE)
垢版 |
2018/10/15(月) 23:26:10.89ID:L3fZFxj50
log4系はネット上に情報が沢山あるのと
自分が溜め込んだ資産が沢山あるからつい使いまわしちゃうな
仕様は確かにファッキンだが
2018/10/16(火) 00:05:25.55ID:tUmXldvA0
>>128
使い方間違えててマルチスレッドモードになってない率95%のlog4さんじゃないですか
2018/10/16(火) 01:16:04.35ID:PMA7SNGw0
そのまま泳がせておけばよいのに
131デフォルトの名無しさん (ワッチョイ dfeb-JlWZ)
垢版 |
2018/10/16(火) 11:56:04.25ID:L6l9R59e0
GUIアプリケーションでのawaitについて教えてほしいんだけどさあ
↓この処理をボタン等のイベントから実行した場合、JklあるいはAsdfasyncが終了したかどうかってどうやってメインスレッドから取得するものなの?
async Task Asdfasync(){
await Jkl();//終わるまで画面をロックさせたくないが、これが終わっていない段階で他のボタンを押されると困る
}
2018/10/16(火) 12:15:32.35ID:WoCKn0wKM
その戻り値は何のためにあると思う?
133デフォルトの名無しさん (ワッチョイ dfeb-JlWZ)
垢版 |
2018/10/16(火) 13:32:46.61ID:L6l9R59e0
それが使えるのならありがたいけど、ボタンのイベントから呼び出されたメソッドの戻り値って取得できるものなの?
2018/10/16(火) 13:42:08.84ID:lQy+05sVa
素直ににawaitの前後でボタンをDisable/Enableではあかんの?
そもそもそのためのawaitでしょう。

もちろん、常にそうできるわけじゃない(JKが終わったからって無条件でボタンをEnableに
できないような要件もありうるから)だろうけどほとんどの場合はそれでいいでしょ
2018/10/16(火) 13:48:09.68ID:TeNN2wBh0
await は非同期処理を、同期的に書けるもの

await で検索すれば?
2018/10/16(火) 15:40:53.54ID:h+X94emHp
>>133
そのAsdfasyncとやらは直接イベントに接続せずに
別のイベントハンドラから自分で呼び出すんやろ?
2018/10/16(火) 18:13:14.36ID:CU/ms8va0
先に云っとく、良いソースじゃない。
こういう雰囲気?
Formにボタンを2つつけて動かしてみて
private Task __results;
private void button1_Click(object sender, EventArgs e)
{
if ((null == __results) || (__results.IsCompleted))
{
System.Diagnostics.Debug.WriteLine("Pass");
__results = Task.Run(() =>
{
this.Invoke(new Action
(() =>
{
button2.Enabled = false;
}
));
Task.Delay(5000).Wait();
this.Invoke(new Action
(() =>
{
button2.Enabled = true;
}
));
});
}
else
{
System.Diagnostics.Debug.WriteLine("Fail");
}
}
2018/10/16(火) 18:15:09.46ID:CU/ms8va0
ごめんなさい。
たぶん、全然検討違いだな。
スレ汚しごめん
2018/10/16(火) 23:11:55.51ID:O/V1xvTL0
コンボボックスが20個。
エクセルシート2の指定列の内容を各コンボボックスに入れる。
※cbo1には4列目、cbo2には10列目などバラバラ。

closedExcel?で読み込んで入れたんですけど、うまい作り方を教えてください。

Clsdata.CboAdd(this,tarPath,tarShtname,”4”,cbo1)
みたいに引数違いを20個書き、別クラスに追加するコード書いたんですけど、データだけ取ってきてクラスじゃなくフォームの方に書いた方が分かりやすいですかね?
別フォームでもコンボボックスに同じように追加するのがあるので使い回してるんですけど...

説明下手で申し訳ないですが、ご教授下さい。
2018/10/16(火) 23:33:54.56ID:9BmmQZOma
>>139
ワークシートを操作するクラスを作って、そこに列のデータをobject[]かstring[]で返すメソッドを書く

public object[] GetColData(int col) { ... }

それをコンボボックスにセットするコードはForm側に書く。
コンボボックスを引数で渡すような馬鹿なことはしちゃだめ
2018/10/17(水) 01:21:18.71ID:HL5CR6DW0
>>139
1クラスでlist<string>を作る
シート番号、セル開始行、列、セルの終わりを入れる
combobox1.items.AddRange( )で
2 コンボボックスをList化しておく
コンボボックス番号を入れるとitemsにかえしてくれるクラスにする
3 エクセルにコンボボックス番号、シート番号、セル範囲をかいておく
それをコンボボックスのアイテムに入れてくれるクラスを作る
エクセルをいじるだけでコンボボックスのデータができる

こんな感じかな?
2018/10/17(水) 07:14:52.68ID:JMO34tOe0
C#やってきたけどjava土方のが仕事あって羨ましい
シンタクスは似てるけど採用側はjava経験者しか見ないし

最初の開発重要だな
2018/10/17(水) 08:13:45.91ID:Jp0PkqObH
>>142
Javaは絶対やっといたほうがいいよ。
c#perであれば2日で基本はマスターできるよ。c#と違ってawt,swing,fxは全部使い物にならないからパスでいい。
後はspringframeworkぐらい理解しといたら間違いなし。
Javaは21世紀のCOBOLなんだからあと30年はやっていける。
2018/10/17(水) 10:56:04.11ID:Uge9YwCPM
ユニットテストやらリファクタリングやらデザインパターンの本は大抵Javaで例示してあるからそっち勉強するならJava知ってて損はないな
2018/10/17(水) 12:08:10.07ID:2ev72K5gr
いや、そもそもJavaの案件なんかやらない
やれって言われてもやらない
2018/10/17(水) 12:46:21.10ID:uwloByVh0
>>145
java拒否したらphpしかないで
147デフォルトの名無しさん (ワッチョイ 7fa5-7Kxw)
垢版 |
2018/10/17(水) 20:08:15.98ID:A92Ghs040
へーJava勉強してみようかなー
ってJavaとJava Scriptの違いをさっき調べて知ったくらいだけどwww
2018/10/17(水) 20:31:01.17ID:DWSbH/V/0
ババ引いてくれる底辺労働者一人確保出来て良かったね
2018/10/17(水) 21:12:16.84ID:aIelci8v0
>>147
やめとけ
2018/10/17(水) 21:26:17.92ID:RzUo3BE10
まずこの本で、オブジェクト指向を学ぶのが、Java の定番!

スッキリわかる Java入門 第2版、2014
2018/10/17(水) 21:47:31.88ID:6MaVa97X0
>>140
>>141
ありがとうございます。やっぱコンボボックスの引数はよろしくないですよね。

内容を取ってくるコードって一回で読み取る事は出来ますか?上から繰り返しで配列に入れるんですかね?
2018/10/17(水) 22:32:39.40ID:vYj/Og3S0
ずっとC# + Windows FormsでGUIやってたけど、C++とWin32API使い始めたら、めっちゃ高速でびっくりだよ。
GIUI使いたい人はC#なんて捨てちまえ。
2018/10/18(木) 02:06:12.46ID:JCcaGiED0
>>151
できる
コンボボックスを配列化する
シート名 列番号をエクセルにデータで書いておいて
あとはforで繰り返す
2018/10/18(木) 06:54:30.01ID:1ktj5P410
>>152
Win32APIで納品された客可哀想
2018/10/18(木) 08:13:38.33ID:jQKgibt10
>>152
このスレC++,MFC,ATL,COM+を経て、C#のやつも結構おるだろ
156デフォルトの名無しさん (アウアウカー Safb-dUTK)
垢版 |
2018/10/18(木) 08:17:50.84ID:qf9NxgCDa
個人で作るならだけど、納期に間に合わせる。
バグ作って責任取らされる。
そう言うリスクから離れたいから、仕事じゃ使いたく無いな。

いあ、もう辞めたけど。
2018/10/18(木) 11:20:06.75ID:j6REk5Yq0
リアルタイム通信系なら少しでも高速化するのは理屈通ってるけど
そうでないのなら安定感捨ててまでコンマの差を取るかというと……
って印象であってる?
2018/10/18(木) 11:44:02.53ID:Mxr2Ur4LM
一般的にはその認識は間違ってる
納期の制約があるなら最初の開発段階での最適化は結果的にアプリケーションのパフォーマンスや品質を下げる原因になることが多い
一度組み上げてから余った時間で最適化やバグ取りをした方が品質はほぼ間違いなく高くなる
2018/10/18(木) 12:29:09.15ID:kbeEYbP/a
.NETの黎明期から耳タコのはずだけど、そもそも大半のケースは
起動の遅さをパフォーマンスの悪さと錯覚されてるだけw

>>151
プログラムはシンプルに。
何を言ってるのかよく分からないけど、複数の列のデータを一度に返すメソッドを書きたい、
と言ってるなら、そんなことは出来てもやらない方が吉。

そんなのは多分可読性を下げるだけ。
ベタに、
ComboBox1.Items.AddRange(xlSheet.GetColData(5));
ComboBox2.Items.AddRange(xlSheet.GetColData(1));
ComboBox3.Items.AddRange(xlSheet.GetColData(9));
...

こう書いた方がぱっと見て何やってるかわかるでしょ。
こういう羅列がどうしても許せないならTagに対応する列の番号を入れておく方法もあるが、
個人的にはお勧めしないなあ
160デフォルトの名無しさん (ワッチョイ be81-fIkj)
垢版 |
2018/10/18(木) 15:55:57.15ID:68MDIDIk0
>>152
確かにめっちゃ高速なんだが保守要員の確保はどうなんだ?
2018/10/18(木) 21:21:17.47ID:bB+Y9cEL0
>>155
まんま過ぎてワロタ
162デフォルトの名無しさん (ワッチョイ e39f-j6wj)
垢版 |
2018/10/19(金) 07:04:52.16ID:vAxKIzRz0
App.configを使わずにサブフォルダからDLLを読み込むようにしたいのですがどうしたらいいですか?
2018/10/19(金) 07:54:50.73ID:9lsNtaTJa
>>155
MSC+SDKでC言語の頃からやってる
2018/10/19(金) 11:40:51.68ID:KTHcKJLya
>>162
「C# pathを通す」で検索してトップに出てくる記事の方法でたぶん出来ると思う
2018/10/19(金) 12:10:08.36ID:em3M1VTdd
closedXMLで指定された列の空以外の最終行のnumberの取得のコードってないですか?
2018/10/19(金) 12:11:59.42ID:xA8MYlai0
>>163
Win 3.1の頃かなぁ
2018/10/19(金) 18:38:13.29ID:IZvEaNuI0
>>162
AppDomain.CurrentDomain.AssemblyResolve
2018/10/19(金) 19:52:33.47ID:e848+/7OM
>>163
Windows3.1かな?
既にMFCは出てたはずだけどCのほうが慣れてる(て言うかC++はわけワカメな)ので最初はC+SDKのパターンもあったとか聞いたことある
2018/10/19(金) 21:50:14.52ID:geknAxVx0
ジジイばかりじゃねーかw

って俺も孫が先月産まれた訳だがw
2018/10/20(土) 00:24:18.19ID:HWFrLtjLH
さすが5ch
インターネット老人会そのものだ
2018/10/20(土) 02:23:01.29ID:ccQVPHU20
DataGridViewは便利だけどデータの絞込とか実装できないんよねぇ・・・
2018/10/20(土) 08:01:18.87ID:Bcjmv4pla
>>168
MFC(VC)以前のWindows3.0から
2018/10/20(土) 08:03:50.86ID:vp6V3Xy/M
>>169
今更何を言ってるんだよ w
掲示板と言うメディア自体が爺しかいなくなってる
2018/10/20(土) 08:13:45.80ID:/P2yZ5cia
今の若者は顕示欲が強いく批判もされたくないから実名でブログの方が理にかなってるのだろう
2018/10/20(土) 08:18:20.72ID:vp6V3Xy/M
>>172
おお、Windows3.0を使ってた人なんて初めて見たわ
3.1から使い始めた俺はまだまだ若造なんだな w
176デフォルトの名無しさん (アウアウカー Safb-dUTK)
垢版 |
2018/10/20(土) 08:20:31.03ID:Nttc2RvPa
⒊0は日本じゃ売られなかったって誰か教えてやれよ。。。
2018/10/20(土) 08:59:16.77ID:8XvHu+iJ0
>>176
え?
https://www.betaarchive.com/imageupload/2017-12/1512511364.th.57831.jpg

Windows for Workgroupsと勘違いしてるのかな?
178デフォルトの名無しさん (アウアウカー Safb-dUTK)
垢版 |
2018/10/20(土) 09:17:14.34ID:Nttc2RvPa
悪かったよ。
B何てあったんか。
PC98懐かし過ぎて二度見したわw
2018/10/20(土) 09:22:24.86ID:8XvHu+iJ0
>>174
そう言うのもあるだろうけど、俺等の世代はテキスト主体だったけど今の若い奴等は画像メインって言うのが大きい気がする
俺だけかも知れないけど640KBでやりくりして56Kbpsがスゲーって言ってた世代の記憶は一生消えないと思う
180デフォルトの名無しさん (ワッチョイ bea5-Fc6z)
垢版 |
2018/10/20(土) 10:03:32.03ID:qexLty9p0
Task.Delay()の時間設定ってかなりテキトーですか?
0と1msがあまりにも差がありすぎる気がス
2018/10/20(土) 10:54:16.89ID:ODHHe6QF0
>>180
そりゃ「"最小***ms以降"で目を覚まして」ぐらいの意味だからねそれ
1ms単位できっちりスレッド切り替えを保証できるOSでは無いのだ

状況次第だけどMMCSSやtimeBeginPeriod(非推奨)を設定すればある程度改善できる場合もある
182デフォルトの名無しさん (ワッチョイ bea5-Fc6z)
垢版 |
2018/10/20(土) 12:57:53.42ID:qexLty9p0
>>181
そうなのか
正確に測ったわけじゃないけど1msに設定しても
体感的に10msくらい止まってる気がする
短い停止はThread.Sleepのほうがレスポンス速いな
でもこっちは長くするとデッドロック?しちゃう
でTass.Delayにしてみたんだけど・・・
あちらを立てればこちらが立たずだな
2018/10/20(土) 13:07:38.97ID:dg5LoPsJ0
10ms ぐらいだろ

組み込みみたいな、リアルタイムOS じゃないから
184デフォルトの名無しさん (ワッチョイ be81-fIkj)
垢版 |
2018/10/20(土) 13:28:52.22ID:fOofNO0j0
>>179
DOS=HIGH

これも未だに覚えてるわ
オフセットとセグメントというめんどくさいもののおかげで
+64K-36バイト余分があるという
2018/10/20(土) 15:48:18.27ID:sxRx8jfWd
絶対パスなら(先頭に¥マークを含む)相対パスに変換するって処理って何か関数あるかな?
2018/10/20(土) 15:51:44.06ID:HNej4b9n0
c# 絶対パス 相対パス
で検索すれば一発じゃん
187デフォルトの名無しさん (アウアウカー Safb-dUTK)
垢版 |
2018/10/20(土) 15:55:52.46ID:Nttc2RvPa
大分離れたけど、何年か前のC#6か、それより前で文字列に@付けたりなんだりで解決してなかったか?
2018/10/20(土) 15:56:22.36ID:/P2yZ5cia
>>185
Path.GetRelativePath
189デフォルトの名無しさん (アウアウカー Safb-dUTK)
垢版 |
2018/10/20(土) 16:00:52.98ID:Nttc2RvPa
>>187
すまん。
的外れだった。
2018/10/21(日) 23:07:31.83ID:gVzxUBHM0
配列の次元を動的に決める方法ってあります?
例えばHairetsuっていう名前のオブジェクトがあったとして、
コンストラクタでhoge(int x)が呼び出された時は1次元配列、
hoge(int x, int y)が呼び出された時は2次元配列にしたい。
2018/10/21(日) 23:43:26.15ID:hj9/4JnXa
>>190
Array.CreateInstance?
2018/10/22(月) 00:21:30.44ID:KsYG64zi0
>>165
一行で書くとこんな感じ?
worksheet.Columns("A").First().Cells(true).Max(cell => cell.Address.RowNumber);
2018/10/22(月) 03:54:32.49ID:lcyNLVRb0
sizeof(char) は 2 なのに Marshal.SizeOf<char>() が 1 になるのは何故ですか?
2018/10/22(月) 04:57:46.04ID:DedBSVU60
ANSI扱いで計算されてるから
2018/10/22(月) 14:42:05.76ID:z/eoCJYy0
ダブルクリックするとデフォルト値に戻るTrackBarを作りたいのですが
Trackbar.DoubleClickイベントを追加してもクリックイベントが動くだけで反応してくれません……
ググった情報を参考に継承クラスにしてからSetStyleでStandardDoubleClickを追加しても無反応でした
よければご教授よろしくお願いします……
2018/10/22(月) 16:42:10.00ID:NGaoO2J9d
サブクラス化でダブルクリックのメッセージを盗む
2018/10/22(月) 16:49:58.28ID:PhEYlXMOa
>>195
簡単だろ...と思ったけどそうでもないみたいね
CreateParamsオーバーライドしても出来なかった
https://bytes.com/topic/c-sharp/answers/492805-enable-trackbar-doubleclick-event

ダブルクリックの成立条件がOSの設定と別になるのは諦めて
自分でダブルクリックを実装するしかない気がする。知らんけど

private Stopwatch mStopWatch = new Stopwatch();
protected override void OnClick(EventArgs e)
{
  base.OnClick(e);

  const int maxDoubleClickInterval = 500;
  if (mStopWatch.IsRunning && mStopWatch.ElapsedMilliseconds <= maxDoubleClickInterval)
  {
    OnDoubleClick(e);
    mStopWatch.Stop();
  }
  else mStopWatch.Restart();
}
2018/10/22(月) 16:50:32.09ID:PhEYlXMOa
>>196
メッセージ自体が飛んでこないのよ
2018/10/22(月) 17:10:21.59ID:z/eoCJYy0
>>197
あーーやはり根本から用意されてないんですね……
自分の初歩が間違ってるのかなと思っていたのですが少し安心しました
ありがとうございます!
200デフォルトの名無しさん (ワッチョイ f3a5-Fc6z)
垢版 |
2018/10/23(火) 08:10:29.01ID:WlOKeoDJ0
素人のボヤキで恐縮ですが
何度も書いては直しを繰り返し書き足したコードが
最後の最後、どうしてもデバッグが通らなくなりまして
いくら調べても動かない原因か分からず
もう考えるの面倒くさくなって
新規のFormに一から同じコード書き直してみたら・・・動くじゃん!
たぶん何度もトライ&エラーしたから何処かで操作間違えて
IDEが自動で生成したコードにゴミが混じったんじゃないかと思ったのですが
この動くコードと動かないコードの違いを簡単に発見できませんかね?
今、全ての.csファイルを一行ずつ比較してますが・・・もう飽きましたwww
メインのコードは全く同じでした
ちなみにデバッグで出るエラーは、あるクラスのメソッドの定義が無いというやつです
2018/10/23(火) 08:58:05.56ID:4KRTdb+90
定義がなくてエラーを吐くところまで分かるなら
動くほうのコードをその定義名で検索してコピペすればいいのでは……?
202デフォルトの名無しさん (ワッチョイ f3a5-Fc6z)
垢版 |
2018/10/23(火) 09:16:11.92ID:WlOKeoDJ0
自作のメソッドじゃないのです
usingでちゃんとクラス指定してますし
少なくとも手で入力したコードは同じなので
2018/10/23(火) 09:37:53.24ID:4KRTdb+90
いや、だから自動生成のコードも比較してるんだよね
普通にそこにヤマ当てて検索すればいいのでは…………???
2018/10/23(火) 10:00:22.54ID:XCdCnqpbd
List<int>型をカンマ区切りの文字列にしたいんだけども一個ずつforeachで要素取り出して繋げるしかないかな?
2018/10/23(火) 10:03:28.47ID:XCdCnqpbd
joinをレスかいた後に見つけました!
すみません
2018/10/23(火) 10:43:05.65ID:IN4ounIY0
質問した直後に答えが見つかるのはありがちである
2018/10/23(火) 10:55:13.88ID:cDc5Fd7gM
質問する際に文字に起こすことによって頭が整理されるためである
2018/10/23(火) 11:08:35.71ID:mgVace2od
staring[] strLine = system.IO.File.ReadAllLines(tarTxtPath,System.Text.・・・)

strLine = strLine[0].Split(chrCut)

return strLine;

フォーム1で一回通ったあとフォーム2で2回目通るときにエラーで別のプロセスで使用されているって出るんですがどういったエラーですか?
ファイル開いてるってことですか?
209デフォルトの名無しさん (ワッチョイ bee8-nBLa)
垢版 |
2018/10/23(火) 11:14:39.42ID:Vkutn+dk0
>>207
あるある
2018/10/23(火) 11:29:22.32ID:IN4ounIY0
探すのをやめたとき見つかることもよくある話で
2018/10/23(火) 14:06:54.25ID:GxUzOGox0
>>208
そう
ただFile.ReadAllLinesはオープンからクローズまでやってくれるので普通は発生しない
他でそのファイルを触ってない?
あと自プログラム上はクローズしたけどアンチウィルスソフトがまだ触ってるってケースがある
2018/10/23(火) 21:57:42.31ID:H4AFqJh00
>>211
原因を探る方法ってなんかあります?
2018/10/23(火) 22:47:02.21ID:beMFeyu90
>>208
Readだとそもそも他でロックしていても別のプロセスで使用されているってエラーにならないはずなんだけど
書き込みモードで開いたままとかよっぽど変なことしていないか?
>>212
とりあえずダミーで
string[] strLine = system.IO.File.ReadAllLines(tarTxtPath,System.Text.・・・)
のすぐ下に別の配列への読込み
string[] strLine2 = system.IO.File.ReadAllLines(tarTxtPath,System.Text.・・・)
を入れて見てエラーになるかならないか確認してエラーが出たらお手上げ
エラーが出ないのならstring[] strLine = system.IO.File.ReadAllLines(tarTxtPath,System.Text.・・・)から2回目の実行時にエラーの原因がある
2018/10/23(火) 22:54:16.72ID:t0pM1C750
Windowsで簡単なデスクトップアプリ、コマンドプロンプトアプリを作るのが目的で
無料のVisual Studio 2013 for Desktopをインストールしている

最近調べたらVisual Studio 2017 Community版なるものが無料でリリースされてるようだけど
2013 for Desktopから乗り換える価値あると思う?
それとも2013 for Desktopをそのまま使い続けていた方がいい?
2018/10/23(火) 23:19:13.87ID:beMFeyu90
>>214
2013だと最新のC#や.NetFrameWorkwpターゲットにしたものが作れないと思うけどVisualStudioのスレで聞いて
メリットとデメリット詳細に説明するのは難しいと思うから
2018/10/23(火) 23:37:40.87ID:EnOD72ofM
>>214
VS communityは商用利用に制約が有ります。
Express 2017 for Windows Desktopを利用しましょう。
Express 2017 for webはないのでwebはVSCODEに移行しました。
2018/10/24(水) 00:13:22.70ID:mtZGy2HS0
dd
2017 for Windows Desktopに乗り換えまつ
2018/10/24(水) 00:29:43.28ID:XKgg3tJUa
>>216は間違い
VS Communityは組織の規模に制限があるが用途に制限はない
2018/10/24(水) 07:44:57.85ID:s6gpcYwid
>>213
書き込みモードで放置してました。
お手数おかけしました!
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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