[過去ログ] ふらっと C#,C♯,C#(初心者用) Part137 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1: (ドコグロ MM07-2FKJ) 2018/04/06(金)17:40 ID:oKXVP34zM(1/2) AAS
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
省18
2: (ドコグロ MM9d-2FKJ) 2018/04/06(金)17:40 ID:oKXVP34zM(2/2) AAS
(*゚∀゚)v2get!
3: (ワッチョイ 9917-vJpg) 2018/04/06(金)18:51 ID:+Q3Wd1R20(1) AAS
ワッチョイ付きGJ
4(1): (ワッチョイ 35c3-vJpg) 2018/04/06(金)22:54 ID:e2Dy7HRM0(1) AAS
前スレ>>993 >>998
例外が発生しないようなコードを書くべきというのはそのとおりだと思いますが、例えば
ファイルパスが適切であることを確認してファイルが存在することも確認して、その上で
オープンしようとしてもそのタイミングでファイルが消されている、といった状況だと例外が
発生しますよね
流石にそういうケースでは例外で止めるべきだというのも一つの考え方ですが、それを
検出して処理を戻したいケースもあるだろう、と思っての質問でした
5: (ワッチョイ 89e3-2FKJ) 2018/04/06(金)23:04 ID:mLoQW3Pc0(1) AAS
>>4
誰かが編集中なときもあるし
そもそもぶっ壊れてるときもあるし
アプリの動作も含めて仕様を決めないとどうしようもないじゃん
6: (アウアウエー Sab2-hYtV) 2018/04/06(金)23:16 ID:5BPKzXhXa(1) AAS
まあ、最初から言ってるように、抽象的な質問には抽象的な答えしか返しようがないw
例外に対処するイディオム的な物を教えてくれ、と言ってるように聞こえるけど
そんなものはないとしか...
7: (ワッチョイ 35c3-vJpg) 2018/04/07(土)04:26 ID:1UMv7o170(1) AAS
なかなか意図するところが伝わってないのですが、「例外処理をループの中に閉じ込めて、
例外が発生しなかった場合だけループを抜ける」という書き方を知りたかったのです
処理の内容とかはどうでも良くて、ループの囲い方とその抜け出し方を
なので、以前レスいただいたように、whileで無限ループを作って、tryブロック内にbreakを
置いてループを抜ける、という回答で私には十分でした
試してみれば一発で分かる話だったのですが、tryブロックから外側のループを直接抜ける
ことができると思っていなかったので、それに気づかなかったということです
省2
8: (ワッチョイ 4aa6-XJPP) 2018/04/07(土)12:22 ID:mY3UUgcs0(1) AAS
困っているわけじゃないんだけどちょっと気になってることがあるので分かる方がいたら教えてください
次のコードを実行すると y に true が代入されますが、これはどういうときに使うのでしょうか
string x = null;
bool y = x is var z; // y に true が代入される
9: (ワッチョイ eac3-lTAg) 2018/04/07(土)13:18 ID:pLXvASH10(1) AAS
private void button1_Click(object sender, EventArgs e)
{
if (sender is Button b)
{
}
}
方法: as 演算子と is 演算子を使用して安全にキャストする (C# プログラミング
省2
10: (アウアウエー Sab2-hYtV) 2018/04/07(土)15:27 ID:Uoh/XEtya(1) AAS
チラシの裏
C#の構造体にこんな落とし穴が存在することをついさっき知った
外部リンク:ufcpp.net
11(2): (ワッチョイ 25b3-fGB0) 2018/04/07(土)16:25 ID:jbOaYf+S0(1/4) AAS
public class Test
{
public int Id{get;set;}
public string Text{get;set;}
public string Other{get;set;}
}
このようなクラスを他プロジェクトやライブラリで
省4
12(1): (ブーイモ MM2e-KUJn) 2018/04/07(土)16:37 ID:Y4t1vYpsM(1) AAS
継承
13(1): (アウアウエー Sab2-hYtV) 2018/04/07(土)18:27 ID:7KARL849a(1/2) AAS
>>11
悪口言いたくないんだけど、俺様用語が多過ぎて何を言ってるのか全然分からないよw
14(1): (ワッチョイ 25b3-fGB0) 2018/04/07(土)19:44 ID:jbOaYf+S0(2/4) AAS
>>13
List〈Test〉等を他のプロジェクトでも扱いたいのでTest型で返す関数を作成して
それをこれをパッケージした時に他のプロジェクトでも受け取れるようにしたいって事ですね
public Test GetTest();
みたいな関数でTest型を使いまわせるようにしたいです
15: (ワッチョイ 25b3-fGB0) 2018/04/07(土)19:53 ID:jbOaYf+S0(3/4) AAS
>>12
Abstractって指摘も入ってるので
型クラス(Test)を実装しておき
これをベースにして
public Test GetTest();
を継承先に実装するようにするのが一番賢い設計ですかね・・・?
機能というよりはC♯を使った設計の質問と少し抽象的な話なのでスレチだったらすいません
16(1): (アウアウエー Sab2-hYtV) 2018/04/07(土)20:14 ID:7KARL849a(2/2) AAS
>>14
publicな型はそれを含むプロジェクト(アセンブリ)を参照する別のプロジェクトからも
普通に使えると思うけど、そういう話ではなくて?
17: (ワッチョイ 25b3-fGB0) 2018/04/07(土)20:27 ID:jbOaYf+S0(4/4) AAS
>>16
dll状態だと戻り値Test型って何?ってならないかと思って構造どうすればいいのか悩んでましたけど
そもそもそういう事を考えること自体がおかしかったかもしれないです・・・
Test型のみを他のプロジェクトに流用させたい時とかも考えていたんですけど
そもそもその設計自体がおかしいと思い至りました
18(1): (ワッチョイ 25b3-fGB0) 2018/04/09(月)11:45 ID:xaQ7bksS0(1/2) AAS
>>11
もうちょっと掘り下げて質問し直します
EntityFrameworkを使ってSQLにTest型の入出力をするクラスと
WebからスクレイピングしてTest型を返すクラスを作りたいのですが
ここでTest型を両方で共通で使いたいと思ってます
Test型はプロパティが減ることは無いですが追加はしたいものとします
この時Test型はどのように実装するのが好ましいのでしょうか?
省1
19: (ワッチョイ 25b3-fGB0) 2018/04/09(月)11:56 ID:xaQ7bksS0(2/2) AAS
>>18
これはTestクラスを作成して単独でビルドし
これを参照させたSQLクラスとスクレイピングクラスに継承させて扱うのが正解なのでしょうか?
20(2): (ワッチョイ fe76-u9U1) 2018/04/09(月)23:41 ID:XPDmd+wz0(1) AAS
C#というよりクラスタイプoop全般の話だと思うのですが、クラスを呼んだ時のパラメータは、コンストラクタに与えるのが良いのでしょうか、メソッドに与えるのが良いのでしょうか
両方できるので無造作に使ってるのですがOO的に間違った事をしていそうで
よろしくお願いします
21(1): (ワッチョイ 35e7-Aj6H) 2018/04/09(月)23:43 ID:fSLWGn340(1) AAS
クラスを呼ぶってなに?
22(1): (ワンミングク MM5a-1n+P) 2018/04/09(月)23:44 ID:MCzflE3YM(1) AAS
場合によるのでその都度考えてください
23: (バットンキン MM5a-u9U1) 2018/04/10(火)06:59 ID:EnsNk18IM(1/2) AAS
>>21
インスタンスを作るのとメソッドをコールすることと意識が混ざっている素人で失礼しました
インスタンスを作る時にパラメータを渡すのと、メソッドの引数にパラメータを渡すの、oo的にはどちらが正しいのかお聞きしたかったです
24(1): (バットンキン MM5a-u9U1) 2018/04/10(火)07:04 ID:EnsNk18IM(2/2) AAS
>>22
oo的にはこう、というのは無く、スマートに記述できる方で良いという感じでしょうか?
今自分は気分や雰囲気で使い分けてるのですが、実はルールがあるのではと心配しておりました
25(1): (アウアウエー Sab2-hYtV) 2018/04/10(火)12:42 ID:KG4vxU3va(1) AAS
>>24
正直何が聞きたいのかよく分からんけど、
いろいろ想像してみると、たぶん本当に聞きたいことはコンストラクタ云々じゃなくて
あるデータをプロパティとしてオブジェクトに持たせるかどうかをどういう基準で決めるか、
じゃないのかな。
例えばSystem.Timers.TimerにはpublicなプロパティIntervalがあるけど、
これをprivateかprotectedにしてユーザーからアクセスできないようにして、
省1
26(3): (ワッチョイ fe76-u9U1) 2018/04/10(火)20:54 ID:i+408CBT0(1) AAS
>>25
理解が浅く説明が拙くすみません
そのような事です
どちらでも出来てしまいますが、使い分けのルールや指標はあるのかなと
27: (アウアウウー Sa11-lfby) 2018/04/10(火)23:02 ID:IMFDPHVza(1) AAS
そのパラメーターが変更可能なのかどうかでやり方がいろいろある
インスタンスを作るときに最初に決めたパラメーターを変える必要がないもしくは変えたくないなら
コンストラクタで渡してしまえばいい
毎回変えるかもしれないならメソッドで渡せばいい
28(1): (ワンミングク MM5a-1n+P) 2018/04/10(火)23:36 ID:v03YChI+M(1) AAS
>>26
そんなもの無い
その時々で苦悩して答えを出すしかない
プログラミングってそういう仕事
29: (ワッチョイ 89e3-2FKJ) 2018/04/10(火)23:44 ID:yYP5pHxz0(1) AAS
>>20
教科書的にはメソッドの引数しかありえない
30: (アウアウウー Sa11-EMs9) 2018/04/11(水)00:46 ID:qa2FEnRqa(1) AAS
>>26
基本的には全部引数でも間違いではない
あくまで関数が主であって、オブジェクトは関数のコンテキストに過ぎない、と考えるのが今時のプログラミング
端的に言えば、毎回同じ引数を渡すのが面倒だと思うならクラスにすることを検討するというだけの簡単な話
31(1): (アウアウエー Sab2-hYtV) 2018/04/11(水)00:50 ID:mkq9MyW9a(1/3) AAS
>>26
いや、プロパティとして持つべきデータかの判断は一般的にはそんなに難しくないはず。
上に例に挙げたTimerだって、Startの引数でIntervalを指定する方式だと
問題や不自然さがあることはちょっと考えれば分かるはず
32(1): (ブーイモ MMea-EMs9) 2018/04/11(水)01:12 ID:KJoDibHNM(1) AAS
>>31
別に問題も不自然さも無いよ
System.Timers.TimerやSystem.Windows.Forms.Timerのインターバルがプロパティなのは、デザイナで設定できる必要があるからだ
実際、デザイナに貼れないSystem.Threading.Timerはコンストラクタかメソッドで周期を設定する
(ライブラリではなく)アプリケーションの開発に関して言えば、データクラス以外でプロパティを使う必要があるケースは稀だよ
データクラスを除けば、一度設定した値を取り出したくなるのは殆どの場合設計が間違っている
33: (ワイモマー MMd9-4k8A) 2018/04/11(水)01:25 ID:nomvJ3n3M(1/2) AAS
>>20
・コンストラクタで渡す
var a = new Test(1, "A");
・メソッドで渡す
var b = new Test().SetId(2).SetName("B");
・オブジェクト初期化子で渡す
var c = new Test{
省6
34(1): (アウアウエー Sab2-hYtV) 2018/04/11(水)01:44 ID:mkq9MyW9a(2/3) AAS
>>32
System.Threading.Timerがプロパティを持たないのは何か意図があると思うが
使ったことがないのでよくわからない。(軽量であることが「コンセンプトだから?
あるいんた単に設計者の頭が古いだけかもしれない}
TimerのIntervalをプロパティとして実装しなかった場合。
(1) タイマー動作時にIntervallを変更するためにはStartを実行することになるが、
OOP的に不自然
省2
35(1): (ワイモマー MMd9-4k8A) 2018/04/11(水)02:01 ID:nomvJ3n3M(2/2) AAS
>>34
動作中にIntervalの値を変えられると困る場合、
Start時のみ設定可能にするのは別に不自然でもないよ
OOPの目的はメンテナンス性と事前の徹底したバグ潰しだから、値を変更できるルートを予め絞っておくことは理に適ってる
36: (アウアウエー Sab2-hYtV) 2018/04/11(水)02:46 ID:mkq9MyW9a(3/3) AAS
>>35
現実と違う仮定を置いたら何でも言える
37: 20 (バットンキン MMd9-u9U1) 2018/04/11(水)07:04 ID:Q5HB2TyRM(1/2) AAS
色々とアドバイスありがとうございます
統一性があれば、後はデザパタに従うか等で決定するのが一般的と解釈しました
田舎の中小1人情シスでコードレビューもされないので世間の動向が分からず参考になります
都会の大手の人は切磋琢磨し洗練されたコードを書くんだろうなと憧れます
38(1): 20 (バットンキン MMd9-u9U1) 2018/04/11(水)07:52 ID:Q5HB2TyRM(2/2) AAS
>>28
あまり我流過ぎるとチーム開発の時に混乱するという心配がありまして
39: (ワンミングク MM5a-1n+P) 2018/04/11(水)11:00 ID:uvPDHOSBM(1) AAS
>>38
対象を無視してオレオレナントナク基準で決めるほうが我流
物事にはそれぞれ特性があり最適な答えはいつも違う
それを導き出すには都度考えて議論を重ね実験を繰り返すしかないんだよ
40: (ワッチョイ f3e3-78aE) 2018/04/12(木)20:03 ID:XQKU/nO90(1/3) AAS
見積り終わってるのに時間かけても無駄
一円の利益にもならない
今回の開発で黒字でなければ2回目はない
よって一番時間がかからない方法が正義
41(1): (ワントンキン MM9f-xDE7) 2018/04/12(木)20:52 ID:bR5mzWUWM(1) AAS
業務系はそれでいいのかもね
保守するのは自分でも自社でもない
ならどんなに汚いコードでも早くしあげたほうが勝ち
ただし納品された顧客はとんでもない借金を背負うことになる
罪悪感ってないのかね
42: (ワッチョイ f3e3-78aE) 2018/04/12(木)21:50 ID:XQKU/nO90(2/3) AAS
>>41
いや
君のやり方だって怪しいもんじゃない?
具体的に○○さんのコードは見易くてわかりやすいですねって言われた実績あるの?
無いのに勝手な妄想で自分のコードを保守しやすいと思い込んでない?
43(1): (ワッチョイ b317-ycE0) 2018/04/12(木)21:55 ID:kW0JyjC+0(1/2) AAS
まーた始まった
44(1): (ワッチョイ f3e3-78aE) 2018/04/12(木)21:57 ID:XQKU/nO90(3/3) AAS
>>43
お前なんか全身elseで強化した俺の敵じゃねぇ
45: (ワッチョイ b317-ycE0) 2018/04/12(木)22:06 ID:kW0JyjC+0(2/2) AAS
>>44
ナマ言ってすみませんでした
46(1): (ワッチョイ f306-zmT2) 2018/04/13(金)01:45 ID:JNl7+QPK0(1) AAS
VisualStrudioのC#でPS4を入力を表示するソフトを作りたいんだけども、
どんなライブラリが便利かな?
47: (ワッチョイ e3d7-E1tv) 2018/04/13(金)06:13 ID:Om81X5Te0(1) AAS
>>46
PS4の入力ってなに?
コントローラの事?
48: (ワッチョイ 738a-Z7Iu) 2018/04/13(金)07:25 ID:ko86uHhA0(1) AAS
日本語でOK
49(1): (ブーイモ MMa7-5Vj6) 2018/04/13(金)18:47 ID:GNeQyvWjM(1) AAS
PS4を窓の外に出力する
入力すならまずはアマゾンで注文
50(2): (ワッチョイ f3e3-78aE) 2018/04/14(土)14:59 ID:x6wpDOBa0(1/3) AAS
作画ソフトを作成したいのですが
解像度より大きな領域を扱うことになりそうです
10%〜800%まで拡大縮小ができて
編集操作を行う必要があるのですが
どのような造りにしたら良いのでしょうか?
自分でスクロールバーを置いて編集領域は自前で描画するのでしょうか?
PictureBoxのようなコントロールでスクロール操作までできてしまうのでしょうか?
51(1): (ワッチョイ e3d7-E1tv) 2018/04/14(土)15:03 ID:A6JgIv/D0(1/2) AAS
ドロー系?
ペイント系?
52: (ワッチョイ f3e3-78aE) 2018/04/14(土)15:08 ID:x6wpDOBa0(2/3) AAS
>>51
具体的には印刷すると模造紙ぐらいの大きさのでっかい回路図を作成します
保存するファイル形式はXmlです
53: (ワッチョイ 738a-Z7Iu) 2018/04/14(土)15:26 ID:whWbsAFN0(1/2) AAS
>>49
入力酢?
54(1): (アウアウエー Sadf-ynAY) 2018/04/14(土)16:20 ID:411sIKLXa(1) AAS
>>50
自分でスクロールの機能まで実装してもいいけど、
特に理由がないならコンテナ(例えばPanel)の中にPictureBoxを入れて使うのが
普通じゃないですか
55(1): (ワッチョイ cf9a-ycE0) 2018/04/14(土)17:09 ID:D8vt8UcC0(1) AAS
>>50
PictureBoxにスクロールバー表示するのは
外部リンク[html]:dobon.net
例ではコードでプロパティ設定しているけどデザイナで設定しても同じようにできる
56(1): (アウアウウー Sae7-LJHW) 2018/04/14(土)17:16 ID:A7r7eR+xa(1) AAS
模造紙レベルのでっかいpitureboxで画像のまま編集は現実的じゃないけどね
実際は表示部分だけ都度計算して描画することになる
ドロー系にしてもまあ普通は向いてない
C++でやるような内容だよ
57(1): (ワッチョイ e3d7-E1tv) 2018/04/14(土)18:55 ID:A6JgIv/D0(2/2) AAS
論理座標とワールド座標、デバイス座標をよく理解すべき
58: (ワッチョイ f3e3-78aE) 2018/04/14(土)19:31 ID:x6wpDOBa0(3/3) AAS
>>54-57
ありがとうございます
頑張って見ます
59(1): 46 (ワッチョイ f306-zmT2) 2018/04/14(土)20:40 ID:iGVhaI1m0(1/2) AAS
すいません、PS4のコントローラをPCに接続して、
入力ボタンを表示したいのです。
60: (ワッチョイ 738a-Z7Iu) 2018/04/14(土)21:18 ID:whWbsAFN0(2/2) AAS
>>59
外部リンク[html]:game.watch.impress.co.jp
61: 46 (ワッチョイ f306-zmT2) 2018/04/14(土)23:01 ID:iGVhaI1m0(2/2) AAS
配置が違うだけなのか。
でも認識させるにはDirectXのラッパーとか使うしか無さそうなのね。
62: 46 (ワッチョイ f306-zmT2) 2018/04/17(火)01:46 ID:kRrGnVcd0(1) AAS
出来ましたー、ありがとうございます。
DirectInput
外部リンク:nanoappli.com
Xinput
外部リンク:gist.github.com
63: (ワッチョイ 33f9-LJHW) 2018/04/17(火)13:28 ID:NEdohK8t0(1/3) AAS
Task.Factory.StartNew(またはTask.Run)で生成したスレッドの優先度を変える方法はあるのでしょうか。
64: (ワッチョイ 33f9-LJHW) 2018/04/17(火)14:11 ID:NEdohK8t0(2/3) AAS
63ですがスレッドプールを使わず、スレッドで対応することにしました。
65(1): (ブーイモ MMff-v/YJ) 2018/04/17(火)16:42 ID:joazaAE7M(1) AAS
なぜレガシィな方向へ走るw
66(1): (ワッチョイ 33f9-LJHW) 2018/04/17(火)17:42 ID:NEdohK8t0(3/3) AAS
>>65
Taskだと処理中に割り込み?が割と入ってきて、処理時間が遅延してしまうのです。
スレッドレベルで優先度を上げたいと思いまして。
結局Threadにして優先度を上げても割り込みは入ってくるのですが、多少マシになったような気がします。
67: (アウアウエー Sadf-ynAY) 2018/04/17(火)18:11 ID:xGjbcgxza(1) AAS
どんだけタイムクリティカルな要件なのよww
68: (ワッチョイ 7fac-SNXU) 2018/04/17(火)21:11 ID:kHPr9dOS0(1) AAS
パソコンぶん投げてPLCにしよう
69: (ワッチョイ 738a-Z7Iu) 2018/04/17(火)23:58 ID:zXGef27d0(1) AAS
picでも使えよ
70(1): (ワッチョイ cfc9-ycE0) 2018/04/18(水)00:12 ID:WXSfEMqB0(1) AAS
>>66
それ単にスレッド生成で遅延しているなんてオチじゃないよな?
71(2): (ワッチョイ 33f9-LJHW) 2018/04/18(水)10:23 ID:+D/RfByR0(1) AAS
受託案件なのでC#で作らざるを得ないのです。
自分自身はファーム屋なので、マイコンでやりたいんですけどね。
>>70
まだ遅延の原因はわかってませんです
生成時だけの遅延じゃないので、違うとは思いますが・・・
72: (ワントンキン MM9f-xDE7) 2018/04/18(水)12:14 ID:wyULW0oVM(1) AAS
プロセスの優先度もあげるといいらしいぞ
73: (ブーイモ MMff-v/YJ) 2018/04/18(水)12:31 ID:WeKuLBkMM(1) AAS
糞多い要素群にlinqで遅延実行+ループとか?
74: (アウアウカー Sa47-d/GC) 2018/04/18(水)18:10 ID:jY7uFFSia(1) AAS
>>71
Win32で作る
75: (ワッチョイ ff7f-RdoA) 2018/04/18(水)21:09 ID:unjr58vW0(1) AAS
>>71
GCやJITは対策してる?
76: (ワッチョイ 8aeb-8q6u) 2018/04/19(木)18:59 ID:Yr3hu/ey0(1/3) AAS
ユーザーコントロールのプロパティをデザイン時のプロパティウィンドウでコンボボックスにしたく
人様のサイトで恐縮なのですが、以下をほぼコピペしました。
外部リンク:blog.okazuki.jp
が、テキストボックスのままで選択肢になりません。
公開プロパティに、なにか別の宣言が要りましたでしょうか?
77: (ワッチョイ 8aeb-8q6u) 2018/04/19(木)19:15 ID:Yr3hu/ey0(2/3) AAS
継承ユーザーコントロールだったのですが、継承元にも
[System.ComponentModel.TypeConverter(typeof(〜 が必要だっただけみたいです。
すみませんでした。
78(1): (ワッチョイ 8aeb-8q6u) 2018/04/19(木)19:48 ID:Yr3hu/ey0(3/3) AAS
引き続きすみません。
たとえばユーザーコントロールに
Folder
File
という2つのstring型の公開プロパティを用意します。
IDEのプロパティウィンドウからFolderを設定(通常のテキストボックス)すると
そのフォルダ内のファイルを舐めてFileの選択肢にしたいのです。
省3
79: (ワッチョイ 4ed3-9jjH) 2018/04/20(金)01:01 ID:xYBhqDqu0(1) AAS
>>78
Visual Studio .NET プロパティ ブラウザによるコンポーネントの本格的な RAD 化
外部リンク[aspx]:msdn.microsoft.com
このドロップダウンでできると思う
80(8): (ワッチョイ e7d2-B8Oq) 2018/04/20(金)05:10 ID:OZAtcLZg0(1/2) AAS
初歩的な質問で申し訳ないのですが、
戻り値なしのメソッドと、引数なしのメソッドはどういう状況で使用するのでしょうか?
戻り値なしのメソッドは
その後にどこかに代入したりする予定はなく出力が目的の場合に使用すると
読んだのですがその通りですか?
万が一、後で代入したくなった場合に備えて取り敢えず戻り値は設定しておいたりしないのでしょうか?
引数なしのメソッドは
省3
81: (ワッチョイ 1781-5Fj3) 2018/04/20(金)05:52 ID:6mS8vUfV0(1) AAS
>>80
オーバーロードで検索してみると良い
上下前次1-新書関写板覧索設栞歴
あと 921 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.024s