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

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

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

■関連スレ
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part137
https://mevius.5ch.net/test/read.cgi/tech/1523004019/
■コードを貼る場合は↓を使いましょう。
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/06/28(木) 12:53:45.63ID:q5PWc0B3M
>>349-351
無知自慢乙
2018/06/28(木) 13:12:07.43ID:wMDqdzUG0
同じDLLのstatic変数がそれを使ってることなるプロセス間で同じメモリの場所を参照するかってことじゃないの?
2018/06/28(木) 13:48:50.61ID:f040o02ua
>>356
残念だけどそれはプロセス間の共有メモリの話であってシリアルポート共有じゃないよ

シリアルポートは排他でしか開けないので他の人が書いてるようにシリアルポートをサービスで開いておくしかない
それがどのような形をとるかはいろいろある
2018/06/28(木) 15:13:33.45ID:5RaMOuHjM
通信量など条件にもよるけど、
シリアル受信プログラムは、データの種類によって接頭語+日時名のファイルを作る。
各アプリはファイル監視して自分用のを実行する。
とかユルイ連携にするのも手かと。同時開発しやすいしテストやトラブル対処も楽。
2018/06/28(木) 15:19:28.79ID:poFZ3+du0
ASP.NET CoreにはJavaの@Transactionalのような仕組みはないのですか?
DispatchProxyを使ってトランザクション管理を自前実装してますがより一般的な手段があるなら乗り換えたいです
2018/06/28(木) 15:21:33.85ID:pHy9VzUja
今時232C使ってるようなデバイスでそんな振り分けが必要なデータなんか送ってくる可能性は低いと思いうけどねw

I2Cとか485をエミューレートしてるとかなら知らんけど
そんなデバイス聞いたことないけどさ

アプリ作るのも、ブロードキャストして要らないデータはアプリ側で捨てる方が簡単で
保守性も高いでしょう
2018/06/28(木) 16:53:51.04ID:uTPw2MsS0
どーせ、RS485/LAN変換器とか絡んでるんじゃね
2018/06/28(木) 17:08:19.49ID:mI3gmfcxp
普通のシリアル通信にコンフリクト回避のネゴエーショ等の機能は存在しないんだが、どうするつもりなんだろうな。
RS422規格の通信にするにしても、ドライバーが対応してないと難しいよな。ハードフロー制御なドライバーにして後はハードに頑張ってもらうのかな?
2018/06/28(木) 17:10:29.45ID:mI3gmfcxp
あ、先に書かれてたか。
2018/06/28(木) 17:49:10.63ID:Hec9+XaU0
LANはシリアル通信ではないのだが・・・
2018/06/28(木) 18:13:18.29ID:q5PWc0B3M
>>358
>>329は受信によってイベントを発生させるとか書いてるからサービスでないといろいろ面倒だが、単にポートの読み書きを共有するだけならサービスなんていらんよ
2018/06/28(木) 18:17:20.09ID:q5PWc0B3M
>>361
まーた、俺の環境ではそんなデータはあり得ない(キリッ
ってか
いちいちマウント取りに来なくていいよ
368デフォルトの名無しさん (ワッチョイ 39bb-yLSg)
垢版 |
2018/06/28(木) 18:25:00.98ID:hgy03eod0
また必死なのが沸いてるなァ
2018/06/28(木) 19:07:13.57ID:mpKH796a0
>>347
ありがとうございます
いろいろ試してみたところ、書いてもらった通りメソッドを宣言したオブジェクトのジェネリック型引数が
全部値型ならPrepareMethodの第2引数は要らないみたいです
でも値型と参照型が混在する場合は参照型のハンドルだけ渡せばいいというわけではなくて
値型のものも含めて渡す必要があるみたいなので、
やっぱり基本的にメソッドを宣言したオブジェクトがジェネリック型引数を持つなら
第2引数は必要と考えたほうが安全な気がします
2018/06/28(木) 19:15:51.58ID:UR04nmTq0
君たちマニアックすぎよ!
初心者用だぞ!
2018/06/28(木) 19:19:04.65ID:u+1Q3Zjpa
>>367
こういう馬鹿みるちいつも思うけど、それやってるのはお前なんだけど...
馬鹿にも程があるなほんと
2018/06/28(木) 19:24:04.13ID:q5PWc0B3M
>>371
>>368
2018/06/28(木) 19:29:53.64ID:u+1Q3Zjpa
>>372
これやるのも2chの馬鹿の特徴だよね

これ見るといつも思うが、こういう馬鹿には自分自身を見る自意識がないのかね。
お前自身がやってることは何なんだw

それ以前に必死だったら何なのかね。意味が分からん
まるで「お前ウンコした!!!」って騒いでる中学生だけど、ガチでそのあたりで精神年齢止まってる可哀想なお方なんだろうけどね
2018/06/28(木) 19:35:28.68ID:OkcoTao20
>>373
>>1読め
2018/06/28(木) 19:36:30.54ID:u+1Q3Zjpa
232C使うようなデバイスでアドレスだのポート番号だの、振り分けが必要なケースなんかレアだろう、
(質問者もそんなこと言ってない)ってのはごく普通の感想だと思うけど、異論があるならできれば
具体例上げて反論すればいい。

マウントがどうとか中学生じみたことしか言えない馬鹿は黙ってろって
いい歳こいて恥知らずかよ
2018/06/28(木) 19:37:46.81ID:u+1Q3Zjpa
>>374
いう相手を間違えてるよ馬鹿
こういう馬鹿も2ch名物だな
2018/06/28(木) 19:41:07.48ID:OkcoTao20
>C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
読めないのは誰なのか
2018/06/28(木) 19:44:26.95ID:5xE/3ALJ0
slip も知らない奴にほざかれてもな
あと産業用ならRS-485はまだまだ現役
https://www.fujiele.co.jp/semiconductor/step/engineering/20171219-1/
2018/06/28(木) 19:46:09.46ID:wDYBzoR70
結局、物理的な線は一本なんだろ?
なんで他アプリ全員に配るんだ?
2018/06/28(木) 20:21:27.00ID:u+1Q3Zjpa
>>377
お前自身も読めてない。いってるそばから「俺だけ特別」クンか
そもそもなぜ喧嘩を売った側でなく売られた側を非難するのか
馬鹿だろお前。
2018/06/28(木) 20:25:36.86ID:u+1Q3Zjpa
>>379
それは愚問。
ただ、昨日から言ってるように、現実的に考えれば質問者がやりたいことは
>>344みたいな感じである可能性が一番高いと思う。

もちろん、仮想的な複数の通信チャンネルを実現したい可能性も否定はできない
2018/06/28(木) 20:38:08.78ID:9GisGdyJ0
「自分自身」と「馬鹿」って来たら例外を握り潰す君だから
そいつこのスレに12年いるぜ
2018/06/28(木) 20:40:32.24ID:9GisGdyJ0
年いくつだろ
Hagexを刺した統失くらいはあるのかなw
2018/06/28(木) 20:44:45.44ID:9GisGdyJ0
あとは「口調」「中学生」「精神年齢」は定番ワード
2018/06/28(木) 20:47:01.29ID:u+1Q3Zjpa
>>382
こいつもいつも思うけど、これで自分をおかしいと思わないんだから幸せでいいよねw
前から誰のこと言ってるのか知らんけど、この意味不明な粘着質、普通にストーカーと同じメンタルだ
2018/06/28(木) 20:53:26.04ID:u+1Q3Zjpa
そもそも匿名掲示板で誰かを「特定」して付きまとってやろう、って動機が理解不能だけど、
普通の人間だったらそんな動機を持つ俺って異常なんじゃないかと悩むと思うんだけど...

いや悩まなくても、多少知恵がある人間なら、それって(2chにはよくいる)負けを認めるだけの
精神的強さを持たない弱者の「精神勝利法」なんじゃないか、とか思うと思うんだけど
2018/06/28(木) 21:27:08.49ID:wMDqdzUG0
必死だな。
2018/06/28(木) 22:49:06.80ID:RNZwZaAN0
遅レスですがobjectをdynamicに変えて値を取る事が出来ました

こんな便利な型があるんですね
ありがとうございました
2018/06/29(金) 07:02:58.46ID:41EVR+sW0
動機ねえ、スレが荒れそうだからかな
俺に反応して貰って、俺が反応を無視すれば、とりあえず収まるんだよ
そう、いつものことだ
2018/06/29(金) 07:26:58.04ID:mdiAhzMH0
>>375
232cは物理層の規格や。今だってモデムやTNC繋げる人もいるさ。
2018/06/29(金) 08:53:11.26ID:HPFHtU9c0
>>329
答え出てると思うけど
プロセスは3つにする
1つのプロセスはシリアル通信のサービスを提供
他の2つはクライアントとしてシリアル通信の要求をだす
要求はQueueで排他する等で安全策取る

プロセス間通信は適当に(ipc使えば簡単かな)
2018/06/29(金) 08:55:21.96ID:HPFHtU9c0
>>391
あ、、、要求じゃなくてサーバーが自走して受信のイベントをクライアントに出すのか
でもそれも可能だからね
2018/06/29(金) 09:17:28.48ID:VFzCkUQ4r
おお、コンプリティッドタスク!!!

使ってみよう

ありがとうございました
2018/06/29(金) 10:32:36.67ID:eG0vtZS/M
ipcは死んだ技術なのかと思ってたけどつかってる人いるんだね
デバッグ環境ではうまくいくけど実環境でこけることが多いから最近は使ってなかった
2018/06/29(金) 10:33:59.19ID:1XSLHtbi0
electronでもつかうことね
2018/06/29(金) 12:38:26.74ID:8d6UIl5Q0
配列内の文字列がtargetStrに含まれてるかどうかを調べるコードなのですが
いまどき風な書き方ってありますか?
var words = new string[] { "ああ", "いい" };
foreach (var word in words)
{
  if (targetStr.IndexOf(word) != -1)
  {
  // hit
  }
}
2018/06/29(金) 12:45:50.64ID:iCnCbkLdd
>>396
Contains
2018/06/29(金) 13:54:50.63ID:6eaCpSu00
>>396
targetStrの中に"ああ"や"いい"が含まれている判定はIndexOfでいいんじゃね?
ループつかわないでLINQのAnyメソッドにしておくとか
2018/06/29(金) 13:59:23.95ID:6eaCpSu00
あ、すまん。おらの見ないでよかと。>>397見てなかったorz
2018/06/29(金) 16:12:15.55ID:tWLgdBQo0
まぁ、words.Any(word => targetStr.Contains(word)) ですっきり書こう、が今時?なんかなぁ?
2018/06/29(金) 16:54:35.36ID:Z9lwbPEL0
>>400
それ、words.Any(targetStr.Contains) でいけるよ
仮引数いらん
2018/06/29(金) 17:33:42.32ID:+TbsbPax0
>>400-401
https://qiita.com/Temarin/items/4ac0de4f395dcecf5eec
このページでは
.Where( string.IsNullOrWhiteSpace );
よりも
.Where( x => string.IsNullOrWhiteSpace( x ) );
を推奨してるけどいまいちよく分からないから詳しい議論を聞いてみたい
2018/06/29(金) 17:56:22.21ID:n04C+v3iM
>>402
お前は何回Where呼ぶつもりやねんと
Whereの引数に渡すデリゲートのnewがネックになるほどタイトなループでWhere呼ぶなら、明らかにその設計自体が問題
どうでもいい机上の空論だから全く気にする必要はない
通常は、そんなことよりもラムダが間に一枚入ることによるメソッド呼び出しのオーバーヘッド増加のほうが問題になる
2018/06/29(金) 18:01:54.20ID:NMkrO0hpd
仮引数を省略してるというより渡してるものが違うだろ。
たとえフレームワークの関数でも、関数自体は俺も渡したくはないな。
xとか付けるやつは意識してないだろうが、引数名も有意義だし。
そもそもこれぐらいならインライン展開されるだろうし。
2018/06/29(金) 18:06:39.91ID:Z9lwbPEL0
関数を第一級オブジェクトとして取り回したくないならLinqなんぞ使わず素直にループした方がいいよ
2018/06/29(金) 18:31:03.18ID:fLw6tHLKM
最近はクエリスタイルも悪くないかなって思えてきた
単純に記号が減って読みやすいし
ループで書いたらネストするようなクエリを書きやすい
Effective C#でもサンプルコードにクエリ形式を使ってるね
2018/06/29(金) 19:20:37.69ID:ldv2G5QsM
>>404
関数型の世界では関数をそのまま渡すほうが好まれるよ
その方がより宣言的だからな
ラムダはダサい
2018/06/29(金) 19:30:19.44ID:NMkrO0hpd
一級オブジェクトとして関数渡してんじゃん?ラムダでも。Funcがdelegateなのが気に食わんのかな。

ダサいってのは主観的な気がする。
2018/06/29(金) 19:40:00.41ID:Z9lwbPEL0
あれ、主張がわからんくなってきた
関数を引数にするのはいいけど、その場合必ずラムダで無名関数作ってから渡したいって話なのか
2018/06/29(金) 19:42:32.14ID:HOtQS3nQa
>>408
Haskellとかやってみたらわかるぞ
関数型ワールドでは徹底的にプレースホルダを省くのがクールと見做される
理由は知らん
2018/06/29(金) 20:03:36.51ID:8d6UIl5Q0
皆様ありがとうございます!
高度過ぎて理解できてませんがContainsとLINQ any調べてやってみますm(_ _)m
2018/06/29(金) 20:08:45.96ID:MGdViK9A0
>>410
そこら辺は言語毎の宗教だろ
他言語を持ち出して比較するのはフェアじゃない
2018/06/29(金) 20:19:05.54ID:4EyMIKKY0
宗教というか、純粋関数型言語とマルチパラダイム言語で記法を比べられてもな
2018/06/29(金) 20:32:19.73ID:Z9lwbPEL0
>>410
ポイントフリースタイルにこだわりすぎるのはHaskell界隈でも嫌われてるから
あんま変な誤解を植え付けんでくれ

仮引数があった方がわかりやすいならつければいい
ただ今回のContainsに関してはそれでわかりやすくなる要素が見当たらないので何とも
まぁどっちでも普通に読めるから、どっちでもいいよもう
2018/06/30(土) 13:03:37.19ID:stDx+Xo5a
デリゲートとラムダ式は別物

メソッドにラムダ式を渡してると思って実際は変換されたデリゲートを渡してる場合もある
メソッドのシグネチャーを見てラムダ式をわたしてるのかデリゲートを渡してるのか意識すべき
2018/06/30(土) 13:20:07.97ID:wYh1ox1V0
やっぱりラムダ式とかデリゲートとか難しい…
>>415
メソッドに渡すのは常にデリゲートだと思ってました
ラムダ式を渡す場合とデリゲートを渡す場合、それぞれの例を教えてもらえませんか?
2018/06/30(土) 13:26:42.98ID:stDx+Xo5a
>>416
ちょっと書いてたことはあいまいで間違っていたが詳しく知りたいなら
c# ラムダ式 式木でググる
2018/06/30(土) 13:47:21.51ID:+7yWvOiaM
>>415
お前は何を言ってるんだ
ラムダ式は文法要素上はメソッドの一種
メソッドだからデリゲートに暗黙的にキャストされる
2018/06/30(土) 13:51:28.53ID:1b356axK0
ラムダ式を渡してるって、その日本語自体がおかしい事に気づくべき。
2018/06/30(土) 13:52:29.78ID:wYh1ox1V0
>>417
勉強になります
>>415 の真意は↓の中で4行目だけはコンパイルできないから気をつけましょうということですか?
Func<string, bool> a = s => string.IsNullOrEmpty(s);
Func<string, bool> b = string.IsNullOrEmpty;
Expression<Func<string, bool>> c = s => string.IsNullOrEmpty(s);
Expression<Func<string, bool>> d = string.IsNullOrEmpty;

このあたりのことがとてもあやふやなので解釈が間違っていたらぜひ教えてほしいです
2018/06/30(土) 15:08:20.00ID:d8PLC79S0
そんなのいいから早く完成させろよ
2018/06/30(土) 15:12:03.88ID:/Bfo044u0
ところで
words.Any(targetStr.Contains) とか
Func<string, bool> b = string.IsNullOrEmpty; とか
これいつからできるようになってたの?
ラムダ式導入時からできてた?
2018/06/30(土) 15:18:18.92ID:+7yWvOiaM
>>422
C#2.0からだからラムダより前
今では誰も使ってない匿名メソッドと一緒に入った
匿名メソッドもラムダもメソッドなので、メソッドからデリゲートへの暗黙変換がないと
匿名メソッドもラムダもデリゲートをいちいち明示的にnewしないといけなくなる
2018/06/30(土) 15:23:28.91ID:EEKpc4BGa
>>422
ラムダ式は関係ないよw
C#2.0からデリゲートのインスタンスを明示的にnewしなくてもよくなった
http://ufcpp.net/study/csharp/sp_delegate.html#definition

words.Any(targetStr.Contains) ;

words.Any(new Func<string, bool(targetStr.Contains));
の省略記法
2018/06/30(土) 17:23:22.11ID:VzcFRgA/0
オマエラ、
今夜ぐらいは仕事の事を忘れて肉でも食いにいけよ
2018/07/02(月) 09:33:02.24ID:6nQmCY/K0
あぁそうか、そういえばそのままなデリゲートだったね
すっかり忘れてたww
2018/07/02(月) 21:21:17.36ID:btMzwCPv0
直撮りで申し訳ないんですが
youとenemy のHP表示→それぞれ1〜9の値を引くの処理をどちらかのhpが0になるまで続けるように組んだつもりなんですが、whileより上の部分と下の部分しか反映されませんでした
どうしたら上手く処理出来るでしょうか
https://i.imgur.com/HbKFSfr.jpg
2018/07/02(月) 21:25:37.50ID:Y9X1m4Hz0
>>427
>= 0
2018/07/02(月) 21:30:15.05ID:btMzwCPv0
>>428
なるほど、確かにこれじゃあ条件が「hpが0以下の時」になっちゃってますね 助かりましたありがとうございます!
2018/07/02(月) 21:36:19.75ID:aT7of7CF0
わろた
2018/07/02(月) 21:36:50.28ID:aT7of7CF0
微笑ましさで、ね。
2018/07/02(月) 21:40:16.96ID:gdUYHRxe0
>>428
=いらないんじゃないか
>>427
while (you > 0&& enemy > 0){
もしくは
while (true) {

(処理)

if (you<=0||enemy<=0) break;
}
2018/07/02(月) 21:43:42.29ID:btMzwCPv0
>>432
両方hpが無くならないと終わらなかったので後者を使わせて貰いました
参考になります!
434デフォルトの名無しさん (ブーイモ MM22-M9kt)
垢版 |
2018/07/03(火) 19:38:57.82ID:uKdaL+TvM
スクレイピングで、xpathや属性から要素を特定取得できると思いますが、逆に属性を取得することって、できるのでしょうか?
@class=取りたい属性←この値です
2018/07/03(火) 19:53:05.05ID:obHlRFH50
パーサーなに使ってるか知らんけど
xpath指定で値とれるなら属性指定すればとれるでしょう
2018/07/03(火) 19:56:50.40ID:BhHhKgjH0
ロケーションステップの末端に
/@取りたい属性
をつければ取れるだろう
あまりこのスレとは関係ないけど
437デフォルトの名無しさん (ワッチョイ 6e81-M9kt)
垢版 |
2018/07/03(火) 20:15:00.81ID:3h3fF2lx0
>>435
>>436
その属性を取りたいんですよ。
2018/07/03(火) 20:40:16.29ID:BhHhKgjH0
だからぁ
/@class
だっつうの
2018/07/03(火) 20:43:41.32ID:BhHhKgjH0
見直すと436の説明が悪かった
2018/07/03(火) 21:57:38.45ID:c8nUoQXQM
属性 "名"がほしいのか
属性 "値"が欲しいのかがわからないよな
2018/07/04(水) 00:07:29.57ID:OxUMeZjO0
要素の属性を全部取得する
https://hokaccha.hatenablog.com/entry/20130819/1376895914

要素の属性を全部取得したいんだけど、 jQuery ではできないっぽい。
DOMの element.attributes を使えばいける
442デフォルトの名無しさん (ワッチョイ 6e81-M9kt)
垢版 |
2018/07/04(水) 01:32:51.59ID:QIUWNU3h0
>>440
属性の値がほしいんですね、名前はtagNameでとれるので
443デフォルトの名無しさん (ワッチョイ 6e81-M9kt)
垢版 |
2018/07/04(水) 01:43:11.66ID:QIUWNU3h0
id="→sample←"
webページ上の値じゃなくて、→←で囲ったsampleという結果がほしいんです。
2018/07/04(水) 04:05:11.91ID:/r54tfMO0
>>345>>434は同じ人か?
seleniumの話なら
webDriver.Url = @"https://www.seleniumhq.org/";;
IWebElement element = webDriver.FindElement(By.Id("promo"));
element.FindElement(By.XPath("a")).GetAttribute("id");
445デフォルトの名無しさん (ワッチョイ 6e81-M9kt)
垢版 |
2018/07/04(水) 05:51:54.18ID:QIUWNU3h0
>>444
ありがとうございます。試してみます。
2018/07/04(水) 07:03:48.24ID:nlc5wO39d
C♯勉強したんだけどネットに参考になるサイトないですか?

VBAはこれで勉強してネットで使いながらそこそこは出来るようにはなりました。何かを作りながら取り敢えず基礎的仕組みを理解出来ればと思ってます。
https://for-guests.com/excel-vba-6006/
447デフォルトの名無しさん (ワッチョイ 4581-YyB7)
垢版 |
2018/07/04(水) 07:55:26.39ID:zwHbS25H0
>>446
↓とりあえずはここかな
https://dobon.net/
2018/07/04(水) 08:50:06.90ID:oGtdQ8QA0
いやいや未確認飛行だろう
449デフォルトの名無しさん (ブーイモ MM22-M9kt)
垢版 |
2018/07/04(水) 09:30:12.33ID:rFQM1K2RM
>>444
無事に目的を果たせました!
感謝です。
450デフォルトの名無しさん (ワッチョイ 0deb-HrKv)
垢版 |
2018/07/04(水) 15:02:10.32ID:x3V5psFC0
PC上からC#で制御できる汎用IO製品って安いのないんかな?
Raspberry PiについてるGPIOみたいなのが欲しいんだけど
2018/07/04(水) 15:06:52.68ID:ZJ2LKM3Q0
デバドラの認証コストだけでも結構なお金がかかるからなぁ
2018/07/04(水) 15:11:38.24ID:BdK+b5Vga
Arduinoがいいよ
453デフォルトの名無しさん (ワッチョイ 027f-7be3)
垢版 |
2018/07/04(水) 16:48:56.19ID:n4h9hTEh0
超面白い
https://goo.gl/k4ehdm
2018/07/04(水) 17:14:18.28ID:Ub7D34vBa
>>450
あんまり安くもないがこんなのとか
http://akizukidenshi.com/catalog/g/gK-01977/

このICの本来の用途はGPIOじゃないが、GPIOとしても使えたはず。
でも8本 + αしかないし使い方に癖があった気がする。
2018/07/04(水) 19:26:55.57ID:x1yYTdeNp
むしろラズパイやらArduinoとシリアル通信させてそちらのgpioに何か繋ぐ方が、安心安全いざショートしちゃったとかのアクシデントの時にも安く済むよ。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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