「どんなにくだらない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#(初心者用) Part136
http://mevius.5ch.net/test/read.cgi/tech/1520057345/
■コードを貼る場合は↓を使いましょう。
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
ふらっと C#,C♯,C#(初心者用) Part137
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん (ドコグロ MM07-2FKJ)
2018/04/06(金) 17:40:19.48ID:oKXVP34zM950デフォルトの名無しさん (ワッチョイ 4a15-ZeuL)
2018/06/03(日) 20:19:01.20ID:S4J0YpoT0 >>939
つまりSpanを使うのにusing System;さえすればいいってこと?
ごめんな、クソ素人過ぎて質問がまずいのか
http://ufcpp.net/study/csharp/resource/span/の
var s = "abcあいう亜以宇";
var sub = s.Substring(3, 3);
var span = s.AsReadOnlySpan().Slice(3, 3);
for (int i = 0; i < 3; i++)
{
Console.WriteLine((sub[i], span[i])); // あ、い、う が2つずつ表示される
}
を試したいんだけど、できないって話なんだ
つまりSpanを使うのにusing System;さえすればいいってこと?
ごめんな、クソ素人過ぎて質問がまずいのか
http://ufcpp.net/study/csharp/resource/span/の
var s = "abcあいう亜以宇";
var sub = s.Substring(3, 3);
var span = s.AsReadOnlySpan().Slice(3, 3);
for (int i = 0; i < 3; i++)
{
Console.WriteLine((sub[i], span[i])); // あ、い、う が2つずつ表示される
}
を試したいんだけど、できないって話なんだ
951デフォルトの名無しさん (ワッチョイ 21e3-5Q+M)
2018/06/03(日) 20:26:16.06ID:klvCZP9p0952デフォルトの名無しさん (ワントンキン MM8a-67BG)
2018/06/03(日) 20:50:59.76ID:H2Gh+VvdM >>950
現時点ではAsReadOnlySpanが存在しないっぽいね
Stringはもともと読み取り専用だからAsSpanでReadOnlySpanになるってことだと思うけど
過渡期の記事はそのまま鵜呑みにしない方がいいぞ
現時点ではAsReadOnlySpanが存在しないっぽいね
Stringはもともと読み取り専用だからAsSpanでReadOnlySpanになるってことだと思うけど
過渡期の記事はそのまま鵜呑みにしない方がいいぞ
953デフォルトの名無しさん (ワッチョイ d696-NLsb)
2018/06/03(日) 21:25:48.86ID:nwnHFAsS0954デフォルトの名無しさん (ワッチョイ d696-NLsb)
2018/06/03(日) 21:26:28.88ID:nwnHFAsS0955デフォルトの名無しさん (ワッチョイ d696-NLsb)
2018/06/03(日) 21:27:58.09ID:nwnHFAsS0 >>948
おっしゃる通りで、連打対策必要だったんですね。
フォームアプリだと必須の対策なんですね。
他で少し変な挙動してたのは連打対策してなかったことが原因のようです。
連打対策してみます。
というか、どうやればいいんだろ。
また、お勉強しなければ。
おっしゃる通りで、連打対策必要だったんですね。
フォームアプリだと必須の対策なんですね。
他で少し変な挙動してたのは連打対策してなかったことが原因のようです。
連打対策してみます。
というか、どうやればいいんだろ。
また、お勉強しなければ。
956デフォルトの名無しさん (ワッチョイ d69a-msj4)
2018/06/03(日) 21:42:26.87ID:0r68Qt9D0957デフォルトの名無しさん (アウアウエー Sa22-UB1l)
2018/06/03(日) 21:51:01.95ID:imVGa92Ya958デフォルトの名無しさん (アウアウエー Sa22-UB1l)
2018/06/03(日) 21:56:36.02ID:imVGa92Ya そもそもUIのデザイン論なんて大げさな話じゃなくても、
ユーザーの捜査に反応できない文脈では何らかの方法(通常はグレイアウト)でそれを
ユーザーに対して明示しないUIは問題あるでしょうww
そんなことにも思い至らない回答者は無視していいよw
ユーザーの捜査に反応できない文脈では何らかの方法(通常はグレイアウト)でそれを
ユーザーに対して明示しないUIは問題あるでしょうww
そんなことにも思い至らない回答者は無視していいよw
959デフォルトの名無しさん (ワッチョイ 4a15-ZeuL)
2018/06/03(日) 22:53:07.14ID:S4J0YpoT0 >>952
ありがとう、そういうこともあるんだな
勉強になった
10Gくらいの固定長テキストファイルから一行ずつ読み取って
最初の1-10文字はUSER ID、11はSEX・・・って分けてdbに突っ込んでるんだけど
StringBuilderでLength=0しつつappendするくらいじゃ、stringでsubstringするのとあまり変わらなかったんで
Span使えばマシになるのかなと思ったんだ
ありがとう、そういうこともあるんだな
勉強になった
10Gくらいの固定長テキストファイルから一行ずつ読み取って
最初の1-10文字はUSER ID、11はSEX・・・って分けてdbに突っ込んでるんだけど
StringBuilderでLength=0しつつappendするくらいじゃ、stringでsubstringするのとあまり変わらなかったんで
Span使えばマシになるのかなと思ったんだ
960デフォルトの名無しさん (アウアウウー Sa09-CKCa)
2018/06/03(日) 23:00:15.10ID:8gLBE5WNa そんなもん丸ごとDBにロードしたほうが速いだろ
固定長ファイルのロードはどのDBMSでもコマンド一発でできる
固定長ファイルのロードはどのDBMSでもコマンド一発でできる
961デフォルトの名無しさん (ワッチョイ 4a15-ZeuL)
2018/06/03(日) 23:12:33.52ID:S4J0YpoT0 >>960
それなw
tempのカラムに一行まるごと突っ込んで、クエリでsubstrするやり方やってみる
https://stackoverflow.com/questions/12423991/import-fixed-width-text-file-into-sqlite
それなw
tempのカラムに一行まるごと突っ込んで、クエリでsubstrするやり方やってみる
https://stackoverflow.com/questions/12423991/import-fixed-width-text-file-into-sqlite
962デフォルトの名無しさん (ワッチョイ d6c9-msj4)
2018/06/03(日) 23:35:40.25ID:iikfdxhC0 10GBのデータだと読取よりDBMSへの書き込み方法がネックになりそう
963デフォルトの名無しさん (ワッチョイ 4a15-ZeuL)
2018/06/04(月) 06:33:56.69ID:mxEQUVjg0 >>962
細かくなるとdbスレ行きなんだろうけど
実際に書くところはC#なわけで、どこがボトルネックになってるのかザコ過ぎてわからんw
とりあえずsqliteつかってメモリ上dbにinsertでトランザクション管理しっかりやってってして30分くらいだったからまーいいかと
sql server expressだとbulk insertはわからんけどselectで並列処理されるみたいだから乗り換えてみる予定
細かくなるとdbスレ行きなんだろうけど
実際に書くところはC#なわけで、どこがボトルネックになってるのかザコ過ぎてわからんw
とりあえずsqliteつかってメモリ上dbにinsertでトランザクション管理しっかりやってってして30分くらいだったからまーいいかと
sql server expressだとbulk insertはわからんけどselectで並列処理されるみたいだから乗り換えてみる予定
964デフォルトの名無しさん (アウアウウー Sa09-NLsb)
2018/06/04(月) 11:04:17.43ID:MivBMbBxa sql server expressはひっくるめたDBサイズが最大10 GBまでだったと思うが
965デフォルトの名無しさん (ワッチョイ 018a-75sl)
2018/06/04(月) 11:06:49.27ID:UeJV2JW90 メモリしこたま積んでRedisかな
966デフォルトの名無しさん (ブーイモ MM9a-CKCa)
2018/06/04(月) 14:26:59.71ID:pPavJvQvM Postgresでいいよ
ロード時に固定長レコードのフォーマットを指定できるから一時テーブルもC#もいらん
ロード時に固定長レコードのフォーマットを指定できるから一時テーブルもC#もいらん
967デフォルトの名無しさん (ワッチョイ cd24-sZ2J)
2018/06/04(月) 16:33:35.32ID:7NrmQXKK0 MonoのLinux版のインストールの仕方、ご教示いただけますと有難いです。宜しくお願い致します。
968デフォルトの名無しさん (ワッチョイ d6e8-NLsb)
2018/06/04(月) 16:48:48.54ID:aK/XyO250 米Microsoftが米GitHubを買収することで合意
http://www.itmedia.co.jp/news/articles/1806/04/news058.html
http://www.itmedia.co.jp/news/articles/1806/04/news058.html
969デフォルトの名無しさん (ワッチョイ 018a-75sl)
2018/06/04(月) 20:38:58.19ID:UeJV2JW90 >>967
ちょまど神を信仰すると天啓が降るぞよ
ちょまど神を信仰すると天啓が降るぞよ
970デフォルトの名無しさん (アウアウウー Sa09-CKCa)
2018/06/04(月) 20:43:37.91ID:CVKZewtza971デフォルトの名無しさん (ワッチョイ 45eb-sZ2J)
2018/06/04(月) 20:52:46.96ID:spHrXgPF0 UbuntuでもCentOSでもコマンド一発で入るがな
972デフォルトの名無しさん (ワッチョイ fad2-L98v)
2018/06/04(月) 21:35:01.82ID:ztrCxIDM0 >>970
何言ってんの?
何言ってんの?
973デフォルトの名無しさん (ワッチョイ 4aeb-xcqf)
2018/06/04(月) 21:48:02.60ID:9+XsYcyB0 Windows.Forms で WndProc を override して自分のコードを加えているのですが
デバッガで進めていくと、その中に突入してしまいます。
InitializeComponent の中みたいに、デバッガが入らなくする宣言みたいなものなかったですか?
デバッガで進めていくと、その中に突入してしまいます。
InitializeComponent の中みたいに、デバッガが入らなくする宣言みたいなものなかったですか?
974デフォルトの名無しさん (アウアウウー Sa09-CKCa)
2018/06/04(月) 21:49:06.62ID:BHtXacEqa >>973
debuggerstepthrough
debuggerstepthrough
975デフォルトの名無しさん (ワッチョイ b117-NLsb)
2018/06/04(月) 21:56:07.60ID:Uz3WpYRO0976デフォルトの名無しさん (ワッチョイ 4e8b-fUxx)
2018/06/04(月) 23:32:00.59ID:054Q3E4O0 メインクラスとシリアル通信クラスの2つを使っています
シリアル通信の受信完了でイベントをメイン側に発生させることら可能でしょうか。受信完了したらメイン側から受信データを取りに行くようにしたいのですが。
シリアル通信の受信完了でイベントをメイン側に発生させることら可能でしょうか。受信完了したらメイン側から受信データを取りに行くようにしたいのですが。
977デフォルトの名無しさん (アウアウエー Sa22-UB1l)
2018/06/05(火) 00:07:28.69ID:jE9yEXCCa >>976
何でそうなるのw
発想が逆だってw
そのシリア通信を担当するクラスSがデータ受信を通知するイベントを発生させて
受信したデータを利用する側がSの参照を握ってイベンを受信すればいいでしょw
ついでに言えば受信データもEventArgs使って渡してしまえばいい
何でそうなるのw
発想が逆だってw
そのシリア通信を担当するクラスSがデータ受信を通知するイベントを発生させて
受信したデータを利用する側がSの参照を握ってイベンを受信すればいいでしょw
ついでに言えば受信データもEventArgs使って渡してしまえばいい
978デフォルトの名無しさん (ワッチョイ d681-gTal)
2018/06/05(火) 00:33:25.52ID:liKML/cX0 しょうがねえだろ初心者なんだから
979976 (ブーイモ MMbe-fUxx)
2018/06/05(火) 07:18:51.35ID:ByFVOB9IM >>977
やりたいのことはそれなんですよw
説明が下手ですいません
厳密にはデータを受けた事が分かったらメイン側は受信データの内容を解釈するクラスに送って処理分岐という形にしようかと思ってます。
用語や処理の知識がおいついてきてないので、あれを応用しようという感じにならず、調べるためのキーワードも出てこないです。
>>クラスSがデータ受信を通知するイベントを発生させて受信したデータを利用する側がSの参照を握ってイベンを受信すればいいでしょw
ここが具体的にどういう構文になるのでしょうか。
やりたいのことはそれなんですよw
説明が下手ですいません
厳密にはデータを受けた事が分かったらメイン側は受信データの内容を解釈するクラスに送って処理分岐という形にしようかと思ってます。
用語や処理の知識がおいついてきてないので、あれを応用しようという感じにならず、調べるためのキーワードも出てこないです。
>>クラスSがデータ受信を通知するイベントを発生させて受信したデータを利用する側がSの参照を握ってイベンを受信すればいいでしょw
ここが具体的にどういう構文になるのでしょうか。
980デフォルトの名無しさん (アウアウカー Sa5d-GynM)
2018/06/05(火) 08:07:17.14ID:D4M8TybKa Signalを使っても作れるな。
981デフォルトの名無しさん (ワッチョイ fa11-W/zB)
2018/06/05(火) 09:11:21.09ID:GjVlFAo70 >>958
PCをあまり使い慣れてない人とか、ボタンはシングルクリックでいいのをダブルクリックしちゃったりとかあるんだよなこれが・・・
PCをあまり使い慣れてない人とか、ボタンはシングルクリックでいいのをダブルクリックしちゃったりとかあるんだよなこれが・・・
982デフォルトの名無しさん (アウアウカー Sa5d-SvXf)
2018/06/05(火) 09:29:57.56ID:nr/+sOXHa 非同期じゃないならボタンイネーブル切ればいいだけじゃね
983デフォルトの名無しさん (アウアウカー Sa5d-SvXf)
2018/06/05(火) 09:32:16.99ID:nr/+sOXHa すまん。忘れてくれ
984デフォルトの名無しさん (アウアウウー Sa09-NLsb)
2018/06/05(火) 10:35:58.82ID:l/0/VM/ma 状態をGUIだけに持たせておくのはおかしいといつか思うはず
985デフォルトの名無しさん (アウアウエー Sa22-UB1l)
2018/06/05(火) 12:11:20.04ID:vCTdp4Eha >>979
class FrameReceivedEventArgs:EventArgs
{
public byte[] Frame{get; private set;}
....
}
class CommunicationPort
{
public even EventHandler<FrameReceivedEventArgs> FrameReceived;
....
}
class FrameDecoder
{
public FrameDecoder(CommunicationPort c}
{
c.FrameReceived += CommunicationPort_FrameReceived;
}
private void CommunicationPort_FrameReceived((object sender, FrameReceivedEventArgs e)
{
....
}
....
}
class FrameReceivedEventArgs:EventArgs
{
public byte[] Frame{get; private set;}
....
}
class CommunicationPort
{
public even EventHandler<FrameReceivedEventArgs> FrameReceived;
....
}
class FrameDecoder
{
public FrameDecoder(CommunicationPort c}
{
c.FrameReceived += CommunicationPort_FrameReceived;
}
private void CommunicationPort_FrameReceived((object sender, FrameReceivedEventArgs e)
{
....
}
....
}
986デフォルトの名無しさん (ブーイモ MMbe-CKCa)
2018/06/05(火) 12:44:05.86ID:eGZjT6RJM987デフォルトの名無しさん (ブーイモ MMbe-CKCa)
2018/06/05(火) 12:51:41.81ID:eGZjT6RJM988デフォルトの名無しさん (アウアウエー Sa22-UB1l)
2018/06/05(火) 12:55:30.14ID:vCTdp4Eha 何言ってるのかさっぱりわからん
よくわからん思考回路だな...
よくわからん思考回路だな...
989デフォルトの名無しさん (ワッチョイ fa11-W/zB)
2018/06/05(火) 13:09:28.12ID:GjVlFAo70 言い回しがようわからんが
>>985みたいなのするのが解放されないオブジェクトを量産するっていうのはなんとなくわかる
>>985みたいなのするのが解放されないオブジェクトを量産するっていうのはなんとなくわかる
990デフォルトの名無しさん (アウアウウー Sa09-CKCa)
2018/06/05(火) 13:11:38.32ID:vyKZFDS5a >>988
分からないならイベントというものを正しく理解してないんじゃないかな
ボタンのクリックイベントをフォームが受け取れるのは、ボタンがフォームへの参照を(実際には間にデリゲートが入るので間接的にだが)持ってるから
基本的に、引数に渡ってきたものに自分自身を登録するのは避けたほうがいい
オブジェクトのライフタイムが非常に分かりにくくなるから
分からないならイベントというものを正しく理解してないんじゃないかな
ボタンのクリックイベントをフォームが受け取れるのは、ボタンがフォームへの参照を(実際には間にデリゲートが入るので間接的にだが)持ってるから
基本的に、引数に渡ってきたものに自分自身を登録するのは避けたほうがいい
オブジェクトのライフタイムが非常に分かりにくくなるから
991デフォルトの名無しさん (ワントンキン MM8a-67BG)
2018/06/05(火) 13:53:28.61ID:UBCugO63M reactive extensionsって.NET発祥なのに使う人少ないよね
992デフォルトの名無しさん (ワッチョイ cd24-lkdC)
2018/06/05(火) 15:23:49.06ID:n583dJR10993デフォルトの名無しさん (ワッチョイ cd24-lkdC)
2018/06/05(火) 15:24:19.24ID:n583dJR10 >>970
そうなんですか。。。
NET Coreっての調べてみます。どうも有難う御座います。
ちょど昨日 GUI って何だ??って検索したばかりでした。
3日前からプログラムの勉強をはじめたばかりで。。。
そうなんですか。。。
NET Coreっての調べてみます。どうも有難う御座います。
ちょど昨日 GUI って何だ??って検索したばかりでした。
3日前からプログラムの勉強をはじめたばかりで。。。
994デフォルトの名無しさん (ワッチョイ cd24-lkdC)
2018/06/05(火) 15:24:34.93ID:n583dJR10995デフォルトの名無しさん (アウアウエー Sa22-UB1l)
2018/06/05(火) 16:15:32.44ID:vCTdp4Eha996デフォルトの名無しさん (アウアウエー Sa22-UB1l)
2018/06/05(火) 16:16:25.51ID:vCTdp4Eha あ、
× イベントの購読解除
〇 イベントの購読解除忘れ
× イベントの購読解除
〇 イベントの購読解除忘れ
997デフォルトの名無しさん (ワッチョイ d69a-msj4)
2018/06/05(火) 19:31:17.11ID:70UTtyrn0 次スレたててみる
998デフォルトの名無しさん (ワッチョイ d69a-msj4)
2018/06/05(火) 19:33:22.39ID:70UTtyrn0999デフォルトの名無しさん (アウアウウー Sa09-CKCa)
2018/06/06(水) 00:18:56.95ID:+J9HGVUKa >>995
想像力のない人だなあ
>>985だと、イベントハンドラの登録を解除しない限り、FrameDecoderが不要になっても
登録先のCommunicationPortよりも先にGCされることは絶対にない。
じゃあ不要になったらイベントハンドラを登録解除できるようにしよう。いつ解除する?
それはFrameDecoder自身には分からない。知っているとしたら、それは>>976のいうメインクラスだろう。
登録解除するにはFrameDecoderクラスのDisposeメソッドを呼べ、という仕様にするか?
結局、985のFrameDecoderを正しく扱うには、メインクラス側がそういうクラス外から見ただけでは想像できないFrameDecoderの気難しい仕様を理解した上で、
必要に応じて明示的な解放を行わなくてはならない。
そんなことをするくらいならメインクラス側で明示的に登録・登録解除をやったほうが遥かに素直で分かりやすい。
想像力のない人だなあ
>>985だと、イベントハンドラの登録を解除しない限り、FrameDecoderが不要になっても
登録先のCommunicationPortよりも先にGCされることは絶対にない。
じゃあ不要になったらイベントハンドラを登録解除できるようにしよう。いつ解除する?
それはFrameDecoder自身には分からない。知っているとしたら、それは>>976のいうメインクラスだろう。
登録解除するにはFrameDecoderクラスのDisposeメソッドを呼べ、という仕様にするか?
結局、985のFrameDecoderを正しく扱うには、メインクラス側がそういうクラス外から見ただけでは想像できないFrameDecoderの気難しい仕様を理解した上で、
必要に応じて明示的な解放を行わなくてはならない。
そんなことをするくらいならメインクラス側で明示的に登録・登録解除をやったほうが遥かに素直で分かりやすい。
1000デフォルトの名無しさん (アウアウカー Sa5d-SvXf)
2018/06/06(水) 00:26:33.34ID:D75pa1n0a 質問いいですか?
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 60日 6時間 46分 14秒
新しいスレッドを立ててください。
life time: 60日 6時間 46分 14秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 中国航空会社、日本行き減便900便超に拡大 関空中心に全体の16% [蚤の市★]
- 住宅ローン金利、大手4行で「最高水準」に…10年固定の基準金利4.40-5.15% [蚤の市★]
- 今後50年間、毎年100万人ずつ人口が減る…「少子化対策」の失敗で日本が迎える「死ぬまで搾取」というヤバい未来 ★7 [ぐれ★]
- 「おこめ券知られてない」農水省が説明会実施へ 「税金でおこめ券配ると発行2団体に利益集中するのでは?」記者の問いに鈴木農水大臣 ★2 [ぐれ★]
- 「怒りに震えて涙が出た」 同性婚認めず「合憲」判断に原告が反発 「差別的な判決だ」 ★3 [ぐれ★]
- 中国外務省「正式な発言撤回なければ受け入れず」 高市首相は台湾有事「存立危機事態」言及せずも「言及しないことと撤回は別問題」★6 [ぐれ★]
- 高市応援団、急に消える。一体何故🤔 [256556981]
- 【悲報】高市早苗さん、中国SNSで「日本の人気アニメのキャラクターに似ている」として人気急上昇 [271912485]
- 独身無職人生むなしい😢
- 悪魔系人気Vtuberでびでび・でびる様、社畜の尻尾を踏んで炎上→3482万 [903292576]
- 【悲報】VTuber、朝7時に通勤は大事なものを失ってるとポストして炎上
- 今泣いて何年か後の自分🌃💃🏻🏡
