[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/24 17:42 / Filesize : 263 KB / Number-of Response : 1022
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 19:00:56.93 ID:Y4203ffV0.net]
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part131
mevius.5ch.net/test/read.cgi/tech/1504861931/
■関連スレ
C#, C♯, C#相談室 Part94 [無断転載禁止]©2ch.net
mevius.5ch.net/test/read.cgi/tech/1492843013/

■コードを貼る場合は↓を使いましょう。
ideone.com/
https://dotnetfiddle.net/

■情報源
https://msdn.microsoft.com/en-us/library/gg145045.aspx
referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured

751 名前:デフォルトの名無しさん [2017/11/01(水) 04:36:44.91 ID:dB2PwCEI0.net]
https://ideone.com/jcN0mM
別のプログラムのキャプチャを取りたいのです
別のプログラムのProcessオブジェクトを取得してPrintWindow関数につっこみたいのですが
どうしたらよいでしょうか?

752 名前:デフォルトの名無しさん [2017/11/01(水) 04:39:54.64 ID:dB2PwCEI0.net]
GetProcessesByNameでオブジェクトを取得した後
↑に貼ったコードのCaptureControlにthisの代わりにどうやって渡せば良いでしょうか?

753 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 05:32:38.62 ID:vhfog6b10.net]
>>736-737
FindWindowと云うからP/Invokeは理解しているのかと思いきや、躓いてるのはソコかいってかコピペかい
ProcessオブジェクトにはメインウィンドウハンドルだけならMainWindowHandleプロパティが既に用意されてる
枠の有無でGetWindowRectやGetClientRect等のWin32APIでサイズ取得、枠無しならnFl

754 名前:agsにPW_CLIENTONLY(1)を指定

LPRECTをout Rectangleとしても互換性はあるが、メンバの意味は異なるので注意。あとOpenGL画面とかは怪しかった気もする
[]
[ここ壊れてます]

755 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 12:54:43.00 ID:wiqlBWqs0.net]
初歩的なことで申し訳ないですが、
C#をx86でコンパイルしたときlong型は何バイトですか?

32ビットですよね?

long型な引数を持つC++で作られたDLLを呼ぼうとしてるんですが
C#側もlong型にするとバイオレンスエラーが出るんです

756 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 13:00:28.87 ID:xMsiUXHhM.net]
>>739
64じゃないの

757 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 13:01:02.25 ID:DoTChEv+0.net]
C# の long型 の .NET型は System.Int64
64ビットだよ

758 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 13:30:22.67 ID:JNwvccyI0.net]
どうでもいいけどバイオレンスじゃなくてバイオレーションな

759 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 13:34:10.98 ID:G3xjFDeG0.net]
デジタル バイオレンス 略して DVか



760 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 13:43:47.20 ID:wiqlBWqs0.net]
ありがとうございます。
x86指定でもC#は64ビットですか。

つまり、x86なC++のlong = C#のint ってことですね
ありがとうございました。

761 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 14:07:25.95 ID:vhfog6b10.net]
>>744
x86なC++というかILP32ね、LLP64でもlongは32bitだから、Windowsに限り常に32bit
C#は常にintが32bit、longが64bit、IntPtrがポインターサイズでCIL名native int

762 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 14:12:57.28 ID:a3/dOAjga.net]
バイオレンスww

763 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 14:36:04.02 ID:wgMqyCilM.net]
>>745
IntPtrは64bitと32bitで自動的にサイズが変わる罠があるよね

764 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 14:53:25.19 ID:58WxqpRI0.net]
罠じゃなくてそれをマネージド上で扱うことを目的とした型やねんで

765 名前:デフォルトの名無しさん [2017/11/01(水) 15:34:33.63 ID:DJIAeWHo0.net]
>>725
当分出来ねえから期待しないでおけ

766 名前:デフォルトの名無しさん [2017/11/01(水) 15:53:44.71 ID:dB2PwCEI0.net]
>>738
すいません高度すぎてちょっとよくわからないです
FindWindowでウィンドウハンドルを取得して画面をキャプチャするプログラムは作れたのですが
ウインドウハンドルしか取得してないのでウインドウの大きさが設定できなくて困っています
(現在ピクセル数で設定)
GetWindowRectやGetClientRectを使おうとしてもRECT構造体の定義がよくわからなくて出来ません。

GetProcessesByNameで取得したProcessオブジェクトからハンドルとオブジェクトの大きさを取り出すにはどうしたら良いでしょうか?

767 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 16:36:24.43 ID:4v6bi03L0.net]
>>750
www.pinvoke.net/

768 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 16:43:34.62 ID:wgMqyCilM.net]
>>750
https://msdn.microsoft.com/ja-jp/library/a5ch4fda.aspx

769 名前:デフォルトの名無しさん [2017/11/01(水) 17:06:28.99 ID:dB2PwCEI0.net]
>>751
よくわからないですが後で読んでおきます
>>752
そのページは見たことあるんですが意味がよくわからないです…

すごく低レベルな質問だと思うのですが
Process[] ps = Process.GetProcessesByName("notepad");
foreach (System.Diagnostics.Process p in ps)
{
textBox1.Text = p.MainWindowTitle;
}
だと問題ないのに
Process[] ps = Process.GetProcessesByName("notepad");
textBox1.Text = ps[0].MainWindowTitle;
では動作しないのは何故でしょうか?



770 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 17:12:20.00 ID:a3/dOAjga.net]
>>753
後者だけ動かない理由はないから何か勘違いしてるんでしょう

771 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 17:29:00.13 ID:wgMqyCilM.net]
>>753
動作しないの内容が曖昧です。

772 名前:デフォルトの名無しさん [2017/11/01(水) 17:35:15.46 ID:dB2PwCEI0.net]
すいません動きました!
メモ帳開いていなかっただけでした…

773 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 17:37:14.82 ID:qqAk/1TWM.net]
勉強用トイプログラムで抽象クラスを継承したクラスにインタフェースを継承したのですが、実務の世界ではよくやる事でしょうか?


774 名前:抽象クラス側にインタフェースのメソッドを書くとか美しく無いので邪道な事をしてるかもと心配になりまして []
[ここ壊れてます]

775 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 17:46:07.56 ID:xAl8OFsq0.net]
>>744
公式にアンマネージとマネージでのデータ形式のリファレンスがあるからそこ見ておいた方がいい
https://msdn.microsoft.com/ja-jp/library/ac7ay120(v=vs.110).aspx
C#でlongは紛らわしいから使わない方がいいと思う
>>753
構造体がわからないとWinAPI使えないよ
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/using-structs

776 名前:デフォルトの名無しさん [2017/11/01(水) 17:55:43.82 ID:DJIAeWHo0.net]
ボールとか壁に当たって反転させるときに
int speed=1;
更新処理
position.x+=speed;
if(800<position.x)
{
speed*=-1;
}
こうゆう反転っておkなの?+=って無駄じゃねえかとか言われない?

777 名前:デフォルトの名無しさん [2017/11/01(水) 19:13:00.27 ID:dB2PwCEI0.net]
https://ideone.com/gKjIFo
見よう見まねでRECT構造体を使おうとしているのですが
17行目の&rectWinという所で以下の2つのエラーが出てしまいます
何が間違っているのでしょうか?

ポインターおよび固定サイズ バッファーは、unsafe コンテキストでのみ使用することができます。
引数 2 はキーワード 'out' と共に渡す必要があります。

778 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 19:18:35.70 ID:JgbY2jhcM.net]
>>760
その文面でググれば多分わかる

というよりメッセージどおりだよ
引数に out 付けよう
意味が分からないなら調べよう

779 名前:デフォルトの名無しさん mailto:sage [2017/11/01(水) 19:18:49.98 ID:C3RJkmbpd.net]
>>757
人間クラスと継承した社員クラスがあるとして
体重身長インターフェイスは人間クラスに、入社日退職日インターフェイスは社員クラスにってのが普通だと思うけど
抽象クラスだから付けないって考え方は美しくないんじゃないかな?



780 名前:デフォルトの名無しさん [2017/11/01(水) 19:22:01.17 ID:dB2PwCEI0.net]
>>761
できました!有難う御座います!!!!!!!

781 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 04:46:41.42 ID:leSyCza7a.net]
なにこれ
www.bityet.us/FVNN6-t6.jpg
https://goo.gl/kLNWUT

782 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 07:15:17.22 ID:pmQPnNAeM.net]
>>762
なるほどその通りですね
営業志望の未経験者なのにC#開発しろと言われ正しくOOしてるか不安でした
参考になります
OOとは徹頭徹尾ヴァーチャルマシーンと言われてもピンと来なくて。。。

783 名前:739 mailto:sage [2017/11/02(木) 13:32:08.71 ID:wZG1ntZl0.net]
みなさんありがとうございました。

C++側で void test(long aa[2]);

みたいに定義されてるやつをC#から使うときも IntPtr でやりくりするしかないんですよね。

784 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 14:07:36.43 ID:RiVwOr7+M.net]
c#はインタープリタなので遅いって言われたw

785 名前:デフォルトの名無しさん [2017/11/02(木) 15:50:21.67 ID:i1tOzlAd6.net]
バイナリプログラムもCPUがインタープリットしてるしインタープリタだなw

786 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 16:06:47.45 ID:/X9eIi7aM.net]
>>766
いやintを2つ並べただけの構造体を用意してrefかout使えばいい

787 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 16:12:10.17 ID:KloAouzuM.net]
>>767
コンパイラ型なんだけど。。
あほなの?

788 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 16:17:55.02 ID:wZG1ntZl0.net]
>>769
pack意識したうえで配列という手もありますね
どっちにしろコード量は増えますね

C# 側で ref を付けるだけで
勝手にIntPtrやらマーシャル確保・代入・解放してくれたらいいのに・・・
char * → string みたいな超絶ラクチンな方法でさ

789 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 16:20:47.53 ID:wZG1ntZl0.net]
ちょっと早合点で書き込んでしまいましたが

[StructLayout(LayoutKind.Sequential, Pack = 4)
struct struct_aa
{
public int aa1;
public int aa2;
}
struct_aa aa;

としたうえで

test(ref aa);

で出来ちゃうんですか!?



790 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 16:43:51.34 ID:/X9eIi7aM.net]
>>772
それでいけるはず

791 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 17:08:27.57 ID:hwMc8ywnM.net]
>>770
昭和のおっさんなので仕方ない

792 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 17:12:38.78 ID:oE5JXb4z0.net]
配列でそのまま渡せばいいのにわざわざ変な方法使うとか
>>766
C#から渡すときはvoid test(int[] aa);でいいんだよ。Visual Studio以外なら知らん
>>772>>773
アンマネージ側で定義されていない構造体を勝手に作って渡すって考え方がおかしい
アンマネージ側で要求されている引数の形式に合わせるのが基本だろ

793 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 17:42:00.04 ID:wZG1ntZl0.net]
ググって最初のほうに出てくるサイトで char * 以外は全てマーシャってるので
てっきり IntPtr を駆使すると思い込んでました。
配列じゃないポインタ渡しは ref/out で何の造作もなく出来ました。
(マーシャル関連のコードを大量に書いていたのが馬鹿らしくなるほど)

んで配列ですが

// C++(x86)
extern "C" __declspec(dllexport) void test(long a[2]);

// C#
[DllImport("usrbatch.dll", CallingConvention = CallingConvention.Cdecl)]
static extern void test(out int[] a);

int[] a = new int[2];
test(out a);

で、バイオレーションエラー出ちゃいます。。。

794 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 17:52:53.60 ID:oE5JXb4z0.net]
>>776
C++側からC#にoutする形で返したいのならC#からポインタにして渡す
そのコードのC#側のout(ref)だと変な動きにしかならない。消せ

795 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 18:01:00.66 ID:wZG1ntZl0.net]
うわぁ、ありがとうございます。

先方で値が書き換わる場合には ref/out を付けないといけない
(付けなかったら配列だろうが値渡しになる)

だと先入観で思い込んでました。
配列だったらC++と同じくポインタ渡しになるんですね!

// C#
[DllImport("usrbatch.dll", CallingConvention = CallingConvention.Cdecl)]
static extern void test(int[] a);

int[] a = new int[2];
test(a);


で、うまくいきました。
(C++側で設定された値が戻ってきた)

796 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 18:34:34.93 ID:OVuNv67Pa.net]
>>778みたいな場合、アンマネージド関数の宣言の仮引数にOutAttributeを付ける必要が
あるのかないのか、MSDN読んでもいまいちよく分からん

https://msdn.microsoft.com/ja-jp/library/75dwhxf7(v=vs.90).aspx
を読むとBittableな型の一次元配列の場合不要のようにも思えるが、

https://msdn.microsoft.com/ja-jp/library/hk9wyw21(v=vs.90).aspx
のサンプルでは属性がついてる

797 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 22:14:18.55 ID:FJPOLiu40.net]
>>779
そのリンク先に書いてあるぞ

これらの型は、呼び出し元と呼び出し先が同じアパートメントに属する場合には、In/Out パラメータとしてマーシャリングされるように見えることがあります。
ただし、そのような型は実際には In パラメータとしてマーシャリングされるため、引数を In/Out パラメータとしてマーシャリングする必要がある場合には、InAttribute 属性と OutAttribute 属性を適用する必要があります。

Outがないと保証されない

798 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 22:48:20.45 ID:uoctVHYW0.net]
>>778
ref/outは書き換え云々というより変数の参照で初期化の必要があるかどうか、P/Invokeでは構造体くらいにしか使わぬ
配列は参照型なので参照の参照になるし、そのままでもオブジェクトヘッダ+要素数を含むのでネイティブ配列へはちょっとズラしている

>>779
上のページに>>780の通りずばり書いてないか?コピーと固定 # 書式指定された Blittable クラスのメモとかにも。そういう事ではなく?


既定のマーシャリング動作を理解し、MarshalAs属性とIn/Out属性を駆使すれば、Marshalメソッドの出番はあまりなくなる
Marshal.UnsafeAddrOfPinnedArrayElementとかもArrayWithOffsetというお誂え向きな構造体がある
手動でIntPtrを捏ね回すのが有効なケースもあるが。ちぃと古いけど↓の記事はよく纏められている
https://msdn.microsoft.com/ja-jp/library/ff647812.aspx#scalenetchapt07_topic4

799 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 22:54:42.83 ID:vimPIuS6M.net]
GCがうざいならstackallocを使う手もあるよ
unsafeになるけど、マネージ配列のマーシャリング使ったとしても境界外へアクセスしたら普通にクラッシュするんだし
むしろ危険な操作は明らかに危険とわかったほうがマシ



800 名前:デフォルトの名無しさん mailto:sage [2017/11/02(木) 23:07:34.82 ID:OVuNv67Pa.net]
>>780-781
レスどうも

よく分からない箇所は結局、>>780に引用してある部分の
>同じアパートメントに属する場合には

この但し書きかな。
同じアパートメントって何だ?

>>778のケースでは結局Out属性なしでも期待通り動くみたいだけど、
逆にBittableであっても明示的にOutを付けないといけないのはどういう
場合なんだろうか

801 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 01:31:28.84 ID:zjyHgUY90.net]
>>782
stackallocはスタックを理解していなければ危険すぎないか、少量で確保速度が最重要ならアレだけど
unsafeポインターを使うならfixedでも境界チェックは外れるし、そのあたりで…

>>783
アーその辺はCOMの話かな、COMマーシャリングが挟まれると固定では済まなくなるという
https://msdn.microsoft.com/ja-jp/library/eaw10et3.aspx#marshaling_and_com_apartments
具体例については…直接COM使った経験がC++でちょろっとしか無いのでわっかんないや(無能

802 名前:デフォルトの名無しさん [2017/11/03(金) 04:43:40.14 ID:ZqwqQq4y0.net]
Parallelの動きがわからん
10個のZIPを同時に解凍する処理するとして

Parallel.Forで実行したらどうなる?
ちなcore i7
エラー?

803 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 09:51:59.78 ID:wXWM393Ar.net]
1.5倍(適当)くらい速くなる

804 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 10:02:10.84 ID:YKGzMcXY0.net]
>>785
同時実行数はCPUのスレッド数だから8個同時に展開して、2個は待ちになるんじゃね
CPUより展開後ファイルサイズによってはHDD書き込みがネックになりそうな気もするけど

805 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 11:00:02.96 ID:QTbHfBOQ0.net]
>>787
オイ!

806 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 15:48:21.85 ID:m874gEkx0.net]
>>786
1.5ってすごくいいよ

>>787
動き知りたいんよ
どうなるか

807 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 15:52:47.69 ID:OoLmNkMra.net]
何を期待してるか知らないけどやればいいじゃないか

808 名前:デフォルトの名無しさん [2017/11/03(金) 17:10:18.04 ID:bRMk/YPf0.net]
c#で画像の黄色部分だけを白にして残りを黒にする様なことはできますか?

809 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 17:32:15.18 ID:tw8puOLsM.net]
>>791
ProcessでImageMagick呼べば一瞬でできる
似た色はどこまで許容するのかとかいちいち個別に作ってたらキリがない



810 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 18:22:36.00 ID:QTbHfBOQ0.net]
DataTable dt = new DataTable();

bool foofunc(ref DataTable dt)
{
  ・・・・
  adapter.Fill(dt);

こんなコード見たんだが何かメリットあるのか?

811 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 18:28:01.91 ID:tw8puOLsM.net]
>>793
それ書いた奴が参照型を理解してないんだと思う
何の意味もないので絶対に真似してはいけない

812 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 18:37:57.11 ID:QTbHfBOQ0.net]
>>794
c#歴10年のヤツのコードなのだ。
当然foofunc内でtry/catchがあり戻り値にエラー有無が返る。
愚痴ってスマヌ。

813 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 18:41:43.76 ID:lrZzjWeI0.net]
>>792
そういうのって、C#でって言うのかな。

814 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 19:35:14.12 ID:Xp/sMfFK0.net]
>>791
最低限の要件だけ勝手に解釈してこんな感じ
https://ideone.com/j4HMm8

815 名前:デフォルトの名無しさん [2017/11/03(金) 19:43:53.45 ID:ZqwqQq4y0.net]
imagemagickってソースに組み込める何か提供してるん?

816 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 19:44:48.34 ID:EmHaDWp+0.net]
大昔にマスク画像を作っていたのを思い出した

817 名前:797 mailto:sage [2017/11/03(金) 20:02:57.12 ID:Xp/sMfFK0.net]
ついでに補足しておくとMarshal.ReadInt32でなくMarshal.Copyでバイト配列で4バイトずつ読めば
Blue,Green,Red,Alphaが取れるから許容範囲設定とかしたかったらそっちで

818 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 20:15:49.55 ID:WHWgtK+kr.net]
経験年数と理解度?にどれだけの相関関係があるのか
疑問が生じている今日この頃

819 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 20:20:24.80 ID:aVxxhWTE0.net]
相関関係はある
但し個人差は大きい



820 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 20:26:05.42 ID:QTbHfBOQ0.net]
>>798
https://www.imagemagick.org/script/develop.php

821 名前:デフォルトの名無しさん mailto:sage [2017/11/03(金) 22:49:49.36 ID:om2fc3b00.net]
>>793-794
refで渡せば、呼び出し先の関数で、呼び出し元の変数のインスタンスを変更できる

これをやりたい状況がどれだけあるかとか、やるべきかどうかとかはおいといて
なんの意味もないわけではない

822 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 00:09:44.98 ID:3cC+jj+w0.net]
>>793のケースで意味がなさそうって>>793,794は言ってるのに、
>これをやりたい状況がどれだけあるかとか、やるべきかどうかとかはおいといて
とか一般論を言い出してそのつっこみよくわからん。

823 名前:デフォルトの名無しさん [2017/11/04(土) 01:46:45.24 ID:qZ8I6rgd0.net]
>>797
ありがとうございます。
ほぼ真っ黒になってしまったのでRGB値で範囲指定できる様にやってみます。

824 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 04:11:36.08 ID:MnNwpnC60.net]
>>804
君も参照型を理解してないね。

825 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 08:41:31.55 ID:sTeHaJ1X0.net]
>>807
この話の流れに>>804がふさわしいかどうかはおいとくとして...

> 君も参照型を理解してないね。
ちょっと説明してみ

826 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 09:02:47.97 ID:5h9DYzfZ0.net]
DataTable dt = new DataTable();

bool foofunc(ref DataTable dt)
{
  DataTable dt = new DataTable();
  ・・・・
  adapter.Fill(dt);

「なんの意味もないわけではない」のコードにはなったが
更に輪をかけた馬鹿コードに進化させてみた。 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)


827 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 09:17:38.08 ID:5h9DYzfZ0.net]
DataTable dt = new DataTable();

bool foofunc(ref DataTable dt)
{
  dt = new DataTable();
  ・・・・
  adapter.Fill(dt);

間違えてたw

828 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 09:19:39.29 ID:flyq3nv80.net]
それじゃただのoutじゃんrefの意味じゃないじゃん(難癖

829 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 09:48:23.86 ID:5h9DYzfZ0.net]
>>811
そう、参照型にrefは無意味なのです。

参照型が分かってないよりこのコードが問題なのは、
検査結果を引数に返して実行エラーの有無を戻り値で返していること。

参照型も理解していないが例外処理はもっと理解していない糞野郎のコード。



830 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 09:51:19.52 ID:5h9DYzfZ0.net]
×検査結果

831 名前:
○検索結果

スマン、寝ぼけてるわ
[]
[ここ壊れてます]

832 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 10:16:12.92 ID:q474DaJy0.net]
>>812
Dictionary.TryGetValue()とかあるし、そこはケースバイケースかな。
参照型にref付けてるくらいだから、何も考えてないのかも知れないけど。

833 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 10:20:08.20 ID:5h9DYzfZ0.net]
>>814
public bool TryGetValue (
  TKey key,
  out TValue value
)

refじゃなくてoutやないかい!

834 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 10:29:08.52 ID:q474DaJy0.net]
そうだった。>>811とまざった。
こっちも寝ぼけてるねw

835 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 10:29:22.28 ID:fyiwYE9E0.net]
つまり
>>793

DataTable dt = new DataTable();

bool foofunc(DataTable dt)
{
  ・・・・
  adapter.Fill(dt);


とは同じ結果になると

836 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 10:37:55.56 ID:q474DaJy0.net]
>>815
まぁ、outにする必要はあるけど、
「検査結果を引数に返して実行エラーの有無を戻り値で返していること」
自体に問題はないな。

837 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 10:38:05.17 ID:OcSSsXSe0.net]
この手のメンバ変数に検索結果をセットする時はこんな感じにして、例外処理は基本呼出側に任せちゃうんだけど問題あるのかね?
前はエラーコードのEnum返してたけど、エラーケースの殆どが例外処理で扱われる物ばかりだったので止めちゃった

DataTable dt = new DataTable();

Void SetHoge(DataTable dt){
    ・・・・
    adapter.Fill(dt);
}

838 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 10:56:19.06 ID:q474DaJy0.net]
>>819
それで良いと思う。
上のみたいに成功したかどうかを返り値で返すのは、
正常運用の範囲内で失敗する場合があるのを想定している場合。

839 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 12:23:07.70 ID:5h9DYzfZ0.net]
>>819
自分ならこうするけど。

DataTable GetHoge()
{
  var dt = new DataTable();
  ・・・・
  adapter.Fill(dt);
  return dt;
}



840 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 13:59:17.12 ID:dOyJdliUp.net]
>>821に1票

841 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 14:56:00.76 ID:ePC4mkkA0.net]
参照型にrefは無意味って言ってるやつは
呼び出し元変数のインスタンスを変更「できる」
ってことをどう評価してるのか

842 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 15:15:02.21 ID:Vg1Izipf0.net]
型がわからない変数と同じ型の変数を用意したいときってなんか記述方法ある?
型を調べるとかじゃなくてプログラミング的に解決する手法あったら教えて

843 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 15:24:28.88 ID:m6ZusNHm0.net]
型引数で解決できるならそれで

844 名前:片山博文MZ mailto:sage [2017/11/04(土) 15:24:47.55 ID:Yg7qqeZtd.net]
>>824
ヴァーか?

845 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 15:41:42.41 ID:WuSfeAlZa.net]
>>824
var y = 謎の変数x;

っていうか、たぶん何か勘違いしてると思うw

「型が分からない変数」っていうのは実行時に型が決まるって意味なんだろうけど、
変数の型は静的に(コンパイル時に)確定しているのでそれはありえない

それとも匿名型のことを言ってる?

846 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 15:49:14.84 ID:jl0ZLZ4q0.net]
dynamic型ならコンパイル時の型チェックは行なわれず実行時に解決するね

847 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 15:52:54.75 ID:WuSfeAlZa.net]
>>828
いや、「変数の型」は静的に決まるでしょ。自分でdynamic型って書いてるじゃんw

848 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 15:55:26.19 ID:tIYipYwe0.net]
>>824
var x1 = new X();
var x2 = Activator.CreateInstance( x1.GetType() );

849 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 16:13:39.02 ID:sTeHaJ1X0.net]
>>823
まあそれが必要なケースがほとんどないし



850 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 16:19:15.36 ID:2EEZfJvra.net]
引数のnullチェックして必要ならインスタンスをnewしてつけられる

851 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 16:41:13.06 ID:tIYipYwe0.net]
バットノウハウっぽい

852 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 16:43:39.78 ID:FXv0ObyH0.net]
>>833
バットは関係ないやろ

853 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 16:53:42.21 ID:/YBu7JsUM.net]
>>832
出来るが引数がnullな時点でArgumentException飛ばすんで実用価値はほぼないな。

854 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 16:58:31.41 ID:tIYipYwe0.net]
>>834
関係ないな。しょぼい誤字だ。

>>824
何をやりたいか分からないが、ジェネリックメソッドでは目的に沿わないかな。

855 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 17:05:47.97 ID:83ZjnaGFa.net]
javascriptみたいなのを想定してるんだろうけど
まあ普通はない

856 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 17:44:10.96 ID:SXZaCuwQ0.net]
ベッドノウハウ
しかし俺は未経験

857 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 17:51:46.51 ID:sTeHaJ1X0.net]
>>832
だからそんなことが必要になったことがどれだけあるんだ?

858 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 18:10:38.00 ID:WuSfeAlZa.net]
なんかしょうもないことで争ってるけど、>>823の方が正しいね

エイリアスの機能がいらないならそもそもrefってキーワードも用意されてないでしょ
負け惜しみでくだらない意地を張るのは子供っぽいよ

859 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 18:13:38.30 ID:wTKOoVxtr.net]
ペットノウハウ
ボトルじゃないよ



860 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 18:17:18.92 ID:wTKOoVxtr.net]
MSらしく反則技が用意してあるだけ
初心者は使わない方が無難
返り値が二つ以上欲しい時は今なら名前付タプルを使う

861 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 18:26:59.70 ID:flyq3nv80.net]
返値代わりに使うのはoutだし今ならって言ってるとおり昔はなかったんだし
ちょっと何言ってるのか分からない

862 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 18:35:14.75 ID:sTeHaJ1X0.net]
>>840
> エイリアスの機能がいらないならそもそもrefってキーワードも用意されてないでしょ
???
refって参照型じゃなくても使えるんだが...
参照型にrefを使うことがほぼないだろって話だと思うけどな

> 負け惜しみでくだらない意地を張るのは子供っぽいよ
自己紹介は要らんよ w

863 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 18:40:28.61 ID:WuSfeAlZa.net]
>>844
意味が分からない

変数の値の利用と書き換えの両方が必要かどうかは、その変数の型が
参照型であるか値型であるかは関係ない。

何を言ってんの?
しかし、いい歳こいて幼稚な奴って嫌だねほんと

864 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 18:43:37.92 ID:OcSSsXSe0.net]
>>842
名前付きタプル使いたいけどVS2013限定という変な縛りに囚われているわ
フレームワーク縛りは判るけど、IDEのバージョンを縛る理由ってなんなんだろう

865 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 18:58:38.30 ID:3Qk/5QRnM.net]
古いコンパイラでビルドできなくなるだろ
俺個人としては大した問題ではないと思うけど、大した問題だと考える人がいるのは普通に理解できるぞ

866 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 19:12:51.54 ID:sTeHaJ1X0.net]
>>845
> 変数の値の利用と書き換えの両方が必要かどうかは、その変数の型が
> 参照型であるか値型であるかは関係ない。
えっ?
普通にググればrefが値型と参照型でどう使われてるかわかると思うんだが...
引っ込みつかなくなってるのかな

> しかし、いい歳こいて幼稚な奴って嫌だねほんと
また自己紹介ですか? w

867 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 20:19:58.00 ID:m6ZusNHm0.net]
幼稚呼ばわりが得意なのはかの例外を握り潰す人だが

868 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 20:22:16.23 ID:m6ZusNHm0.net]
ようするにキチガイなので相手にしなくてよいという話

869 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 20:45:43.86 ID:5h9DYzfZ0.net]
>>840
とりあえず、refは値型以外には使い道が無いのは確定で。



870 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 20:48:54.35 ID:wTKOoVxtr.net]
>>846
2017?

871 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 20:49:38.51 ID:mF4CZaPha.net]
>>848
マジモンかよ

俺個人が使うか、あるいは一般に多用されるかどうかはともかく、
参照型であろうと変数の値(つまり参照)そのものを書き換えたいケースは存在すると思われる。

たとえばStringのようなイミュータブルな型や配列の長さのように変更できない要素を
持つ型の場合、元の値を利用しつつそれを加工した値を返すにはrefを使うしかない

872 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 20:50:11.25 ID:jl0ZLZ4q0.net]
最近見たrefはBindableBaseの中だったな、ref Tとかジェネリックの場合
普段は使わないね

873 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 21:08:51.42 ID:uh9vgcan0.net]
議論ごっこやりたいのなら
ふらっと C#,C♯,C#(議論用)
mevius.2ch.net/test/read.cgi/tech/1469538912/
で好きなだけやってくれ。ワッチョイもないから

874 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 21:14:23.59 ID:5h9DYzfZ0.net]
意味もなく
try
{
  ・・・
{
catch
{}

try
{
  ・・・
{
catch (Exception ex)
{
  throw ex;
}
するヤツってアフォですか?
お願いだから辞めてください。

875 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 21:16:19.73 ID:mF4CZaPha.net]
>>856
プログラマがそこで例外が発生しうることを認識してそのコードを書いていることを
明示する意味はあるよ。

>>851といい、ちょっと単細胞過ぎないか?

876 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 21:28:09.69 ID:sTeHaJ1X0.net]
>>850
了解
>>853を見る限りおまえの言う通りだな

>>851
さすがにそれは極論過ぎ

877 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 21:30:25.68 ID:VAjFkczd0.net]
>>857
え?

878 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 21:49:38.46 ID:FXv0ObyH0.net]
>>857
c#で>>856やるとそこまでのスタックトレース消し去ることになるんだけど正気?

879 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 21:49:52.84 ID:jdRJf/Av0.net]
ファイルが読めない程度で例外返すクラスとか一旦握り潰して動作を変えたい



880 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 21:53:09.24 ID:J+hizfOLd.net]
>>861
c#使うのやめた方がいいな

881 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:02:23.28 ID:5h9DYzfZ0.net]
>>862
go言語が例外処理の機能を無くした理由の1つは、大半のプログラマーが例外処理を正しく扱えないから。
本当にそう思うよ。

882 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:06:52.22 ID:mF4CZaPha.net]
>>860
まあ後者はたしかに普通やらないと思う。
ただ、例外情報なんて必ずしも常に必要とは限らない。

883 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:07:27.03 ID:/B23IXM6M.net]
>>861
関数の返り値でエラー処理したい人?

884 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:09:09.61 ID:KEPGzX0z0.net]
>>863
C#使うのやめてGo使った方がいいな

885 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:12:09.30 ID:mF4CZaPha.net]
>>865
TryXXXなんてのがあるように、そもそも成功したかどうかしか関心がない場合もあるでしょ

886 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:12:58.59 ID:5h9DYzfZ0.net]
>>866
Go言語もまともには扱えないと思う。

887 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:14:37.92 ID:5h9DYzfZ0.net]
>>867
それは例外でエラーを拾はないでエラー処理をしたい場合。
例外処理は少々重い。

888 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:19:20.92 ID:48c6JPwZa.net]
例外は便利だよ
変な使い方しなければ

889 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:23:38.64 ID:/B23IXM6M.net]
>例外処理は少々重い。
初回の例外発生の時にその例外クラスがロードされるみたいなんだけど、その事?



890 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:40:21.94 ID:FXv0ObyH0.net]
>>864
常に必要ではないが、それをわざわざ消す必要があるか?

891 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:40:24.62 ID:WGNINBFE0.net]
ファイルを削除や移動する前に、他のソフトで使用中かどうかを調べるのに
R/Wモードでオープンしたときに例外が発生するかしないかで判断するしか無い
この処理のときはcatchでfalse返して例外を握りつぶしている

892 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:56:58.41 ID:mF4CZaPha.net]
>>872
まあ、たとえ使わなくてもInnerExceptionに食わせて再スローした方がベターだとは思う

893 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 22:59:45.13 ID:FXv0ObyH0.net]
>>874
Java出身の人がよくやる勘違いだよね

894 名前:デフォルトの名無しさん mailto:sage [2017/11/04(土) 23:37:22.84 ID:48c6JPwZa.net]
例外で何を伝えたいかどう制御したいか決まってなければ迷うかもしれない
例外出ても継続できる内容なのかもあるかな

895 名前:デフォルトの名無しさん [2017/11/05(日) 00:13:35.57 ID:m9wZGInC0.net]
例外をどこで処理するか(または投げっぱなすか)という基準をきちんと決めないとカオスになりがち
でも事前に決めて徹底させるのが難しい場面も多いのよね

896 名前:デフォルトの名無しさん [2017/11/05(日) 00:49:39.43 ID:/t3HbS0w0.net]
タスケテ!!!
RARを回答する方法がわからないの!
なんか組み込みでいいのないの!?

897 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 00:53:25.52 ID:yAuwzX3k0.net]
>>878
7Zipのライブラリで回答できた
https://sevenzip.osdn.jp/sdk.html
使い方はすっかり忘れたから聞かないでくれ

898 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 00:55:50.51 ID:eJ/HGJ4TM.net]
コトリンの恐怖がおんどれらを襲うwww

899 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 01:34:09.45 ID:27Wvnc5t0.net]
適当に検索してみたら、それなりにref stringとかを伴うコードがあった
最近のref絡みの言語拡張を見てもコンパイラ絡みのガチガチに最適化するところとかはref引数の使いどころがあるっぽい
https://github.com/dotnet/corefx/blob/ab0c04f10c8094731d13de6f0ceaa71dd776aa00/src/System.CodeDom/src/System/CodeDom/Compiler/Executor.cs

あと、二重ポインタを扱うPInvokeとかでもでてくる



900 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 01:47:27.68 ID:+CtSMn6Br.net]
CodeDomだからC#創成期だね
いわゆるひとつのレガシー

901 名前:デフォルトの名無しさん [2017/11/05(日) 01:51:07.20 ID:/t3HbS0w0.net]
>>879
ぐぬぬだよ!
exeとdll持ってきてコマンドラインにするかあ

902 名前:デフォルトの名無しさん [2017/11/05(日) 02:12:10.73 ID:/t3HbS0w0.net]
外部のexeをインスタンス化してそれにコマンド発行ってできる?出来た気がする
7Zipを複数起動して複数ファイルの圧縮と解凍をしたいのよ

903 名前:デフォルトの名無しさん [2017/11/05(日) 02:25:25.39 ID:/t3HbS0w0.net]
ProcessStartInfoか
なんでもないです

904 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 03:06:49.05 ID:5Sua66ij0.net]
>>884
ファイルIO絡むから、複数同時に動かすとむしろ遅くなるんじゃないかな。

905 名前:デフォルトの名無しさん [2017/11/05(日) 04:13:51.92 ID:/t3HbS0w0.net]
>>886
えー
SSDやRAMに出しても?
メモリ内で解凍してデータ加工して再圧縮できない?全部メモリ内で

外部ツール使ってたら無理か

906 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 07:19:38.45 ID:3uuR82Hq0.net]
>>881
夜中まで必死にググった努力は認める w
>>882の言うように今時としてはいまいちのコードだよ

907 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 07:21:17.15 ID:eAtbP2F40.net]
「ref string」が何に使えるかは置いておいて、これで合ってる?
ttps://ideone.com/k9UegY

908 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 07:24:20.42 ID:3uuR82Hq0.net]
>>886
むしろI/O絡むから複数同時の意味がある

909 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 08:45:03.60 ID:TvjmwwI20.net]
>>871
仕組みは良くわからんけどスタックトレースを辿るとかの処理が重いと思ってる。
速度の必要の無い処理はオレオレ例外投げてエラー処理してる。
その方がコードがスッキリ書けるし。



910 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 08:47:05.58 ID:TvjmwwI20.net]
>>881
いつの間にか、ref 参照型 は不要から ref 全て不要に変わってるし。
ref 値型は必要でしょう。

911 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 09:02:12.28 ID:TvjmwwI20.net]
>>877
例外をどこで処理するかは非常に簡単だが皆分かってない。

・例外をcatchして処理できる場合はcatchして処理する
・処理できない場合は何もしなくて(無駄にcatch throwもしない)呼び出しもとに任せる
・最後はAppDomain.UnhandledException等で拾ってログ吐いて落とす

何も出来ないのにcatchしてエラーメッセージだけ出すヤツ多すぎ。

912 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 09:14:14.87 ID:dh3CGsv/0.net]
言語仕様としてref値型が必要なのはわかるけど
じゃあ使うかというと使わないかな
もう何年も書いた記憶がない

913 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 09:29:17.02 ID:yKSdtk7l0.net]
ゲームで自分で当たり判定を書いたとき
GC を避けるため使ったことがあるな

914 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 09:52:03.41 ID:TvjmwwI20.net]
>>894
hoge.TryParseも使った事がないと?

915 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 10:20:04.86 ID:3uuR82Hq0.net]
.TryParse( ) は ref じゃなくて out

916 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 10:20:40.26 ID:vfJyTH9D0.net]
アプリ作るたびに
ViewModelBaseのSetProperty<T>(ref T field, T newValue
を作って毎回使ってるな。
で、今ちょうどJavaでMVVMやってて、refないのでSetPropertyがかけなくてつらい・・
if (this.value != value) {
 this.value = value;
notifyほにゃ
}
refないのでプロパティ毎に3行書いてるんだけど死にたい。

917 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 10:40:15.20 ID:iAaHdauhM.net]
SetProperty(value, v => field = value)
でいいだろ
設定先が単純なフィールドでない場合にも対応できるしJavaでも同じ

918 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 10:56:36.45 ID:vfJyTH9D0.net]
んん??
どういうことそれ。引数2つ??
3つ使って
SetProperty<T>(T field, T newValue, Action<T> setterActon)
こんな感じならいけそだけど。
SetPropert(field1, 10, t => field1 = 10)
後は最後にproperyNameを渡す引数追加して。

919 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 11:01:15.31 ID:vfJyTH9D0.net]
SetPropert(field1, 10, t => field1 = 10)

SetProperty(field1, 10, t => field1 = t)だった
bool SetProperty<T>(T field, T newValue, Action<T> setterActon, string propertyName) {
 if (!object.equals(field, newValue)) return false;
 setterAction(newValue);
 onPropertyChanged(propertyName);
return true;
}
コンパイルしてねぇけどこんな感じかな。



920 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 11:11:46.25 ID:27Wvnc5t0.net]
>>888
前とは別の人だし、githubで適当に検索してみただけだから特に時間もかけてないんだけどね
roslynとかで"ref 適当な型名"で検索しても、何件か引っかかるし一応新しいコードでも(美しいかはおいといて)使ってるんじゃないかな
軽くしか見てないけどnullなら初期化ってしてるコードが多いけど、ArrayBuilerはある程度有効活用になってそうな雰囲気

ref値型いらないって言ってるのはホントの初心者でしょ
そちらは明らかに使いみちだらけ

921 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 11:22:13.81 ID:+CtSMn6Br.net]
×初心者
○過去を捨てられないベテランさん

922 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 11:28:47.04 ID:idfQljxTM.net]
例外が必ず適切にはかれるわけではないからこうしろって言われても困る

923 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 11:31:31.42 ID:3uuR82Hq0.net]
>>902
いいわけは要らんよ
君がref参照型が有効だと思うコードを晒せばいいだけ

924 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 11:31:51.41 ID:FejOKWJjM.net]
>>904
どう言う意味?

925 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 12:03:01.14 ID:8CRgy4j+a.net]
まだ変なのが暴れてるけど、参照型であれ値型であれrefなんか必要ない、
であれば主張に一貫性があり一理ある。

筋が通らないのは。refは値型でしか意味がないという主張。
昨日説明した通り値型参照型の違いはrefの有用性と関係ない。

>>906
>>904がそうい言いたいのかどうか分からないけど、例外の処理方法や
どの程度「真面目に」処理するかだって所詮要件次第なのに、例外の話になると
妙に教条主義的になる変な人がいるのは確かだ

926 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 12:46:34.43 ID:FejOKWJjM.net]
>>907
例外が適切に吐かれないって事が有るのか知りたい。

927 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 12:51:25.95 ID:uz/X8WP/M.net]
>>907
> まだ変なのが暴れてるけど
自己紹介ですか?

928 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 13:12:09.84 ID:yAuwzX3k0.net]
ref はCの&にあたるものだが、&iは普通に使うけど&pなんて見たこと無いってことだ

929 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 13:34:59.13 ID:sDEQ50L ]
[ここ壊れてます]



930 名前:K0.net mailto: >>894
パフォーマンスを求められる処理には縁がない人なんですね
[]
[ここ壊れてます]

931 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 13:46:53.29 ID:eJ/HGJ4TM.net]
素人なのでref/outの使い道がよくわからないのですが、public変数にするとかじゃだめなんですか?

932 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 13:50:53.40 ID:xly4dgsP0.net]
>>912
メソッド実行するたびにインスタンス作成すればおk

933 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 13:54:44.96 ID:jvnuL8BP0.net]
>>912
コトリン使えばおk

934 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 14:06:26.50 ID:bQLtuEEMM.net]
>>912
全部Public変数にしたら引数も戻り値も不要だね。
君は天才かも。

935 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 14:08:16.80 ID:+CtSMn6Br.net]
>>912
素人なら自作関数には両方使わない
唯一あるとすれば
パフォーマンスをシビアにする必要がある
かつフィールドをたくさん持った値型
の場合だがそんな状況はアプリにもよるがそうそう無い

936 名前:デフォルトの名無しさん [2017/11/05(日) 14:15:44.96 ID:tjXjX3Hx0.net]
>>893
と赤間さんが言ってたね

937 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 15:53:29.60 ID:3uuR82Hq0.net]
>>912
釣り針でかすぎ

938 名前:デフォルトの名無しさん [2017/11/05(日) 18:22:15.77 ID:/t3HbS0w0.net]
藤原竜也に戻せよ

939 名前:デフォルトの名無しさん [2017/11/05(日) 18:23:05.50 ID:/t3HbS0w0.net]
誤爆



940 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 20:56:07.78 ID:TvjmwwI20.net]
>>917
赤間って誰?
MSDNのコラムにc#の例外処理について解説していた良い記事があったんだが見つからんわ。

C と C++のが見つかったw
https://msdn.microsoft.com/ja-jp/library/cc440190(v=vs.71).aspx

941 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 21:00:58.55 ID:UgX7F9HB0.net]
https://blogs.msdn.microsoft.com/nakama/2008/12/29/net-part-1/
これかな?

942 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 21:09:00.23 ID:TvjmwwI20.net]
>>922
赤間さん?

943 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 21:12:55.00 ID:TvjmwwI20.net]
「よほどのことがない限り、アプリケーションで try-catch を書いてはいけません。」
これよ、これ。例外処理の本質。

944 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 21:42:49.26 ID:xly4dgsP0.net]
>>924
そうはいってもファイルが読めないだけで例外だすじゃん

945 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 21:52:08.84 ID:RoulHjpBa.net]
>>922
ああこの記事ね。
個人的にはあんまりロジカルじゃないと思うんだよねこの記事。
読んでいて感じるいくつかの「なぜ」に対する答えがない

(1) エラーを業務エラーとそれ以外に大別するのはいいとして、なぜ前者に例外機構を
使ってはいけないのか?

(2) なぜ集約例外ハンドラーみたいなスパテッティーを推すのか。
そもそもそういうスパゲッティーを避けるための仕組みが例外機構ではなかったのか?

(3) いくら何でも
「よほどのことがない限り、アプリケーションで try-catch を書いてはいけません」
これは言い過ぎではないのか。

946 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 21:59:38.87 ID:sDEQ50LK0.net]
>>926
(3)は吹いたわwww

947 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 22:12:12.00 ID:5Sua66ij0.net]
リトライとかの回復処理は全部ライブラリー内で完結してることが前提なんだろうな。
言いたいことは分からないでもないけど、想定しているアプリがすごく狭い気がする。

948 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 22:39:40.25 ID:GDhCJlyO0.net]
アプリケーションってよりビジネスロジックって言いたかったのかね

949 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 22:49:10.60 ID:fgQ02ied0.net]
>>926
(1)や(3)はコメントで回答されてるんじゃないの?

集約例外ハンドラーは業務エラーを戻り値で表現しようと
例外で表現しようと必要じゃない?



950 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 22:51:14.59 ID:sDEQ50LK0.net]
>>930
必要だってのと推奨するのとは違うだろ

951 名前:デフォルトの名無しさん mailto:sage [2017/11/05(日) 22:52:06.64 ID:6FoY61ET0.net]
てか集約例外ハンドラーがスパゲッティってどういうこと?
エラーメッセージやログ処理して終了するだけのごく短いコードだと思うけど違うの?

952 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 00:52:33.36 ID:voxzxgu2r.net]
>>925
ヘルスバーグも筆の誤り

953 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 06:29:36.68 ID:6qywALcU0.net]
>>928
例外に落ちた時点で回復可能なエラーって限られてるぞ。
ファイルがロックされて書き込めないとか。
殆どは回復不能だし、デッドロックにしてもリトライするより適切にロックしているかやロジックを見直す必要があるだろうし。
ま、例外の原因で一番多いのは自分の仕込んだバグだw

954 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 08:53:17.37 ID:2nM3KO37M.net]
>>932
集約例外に回復コードを仕込もうと思ってるんだろ。

955 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 12:00:15.83 ID:I56lauc90.net]
くそベンダーにありがちwww

956 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 12:23:10.12 ID:2nM3KO37M.net]
糞ベンダーは、全てのメソッドにtry-catchを入れるコーディング規約。

957 名前:デフォルトの名無しさん [2017/11/06(月) 16:16:18.79 ID:sVTioIv70.net]
ネットで更新してるアプリってテキストファイルの文字読み込んでプログラミングしてるんだなその方が変更しやすいのか?

958 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 17:30:29.32 ID:2nM3KO37M.net]
>>938
エスパー登場を待とう

959 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 17:33:56.53 ID:RoDWv0Jka.net]
>>938
勘違いです



960 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 17:36:08.18 ID:Z+IOadg3M.net]
ランチャー的なフォームから小画面を起動するフォームアプリを作ったのですが、小画面大量に出すと重くなります。小画面毎に別スレッドで起動する方法を教えてください

961 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 17:37:41.80 ID:RoDWv0Jka.net]
設計が間違ってます
小画面を大量に出さないようにしましょう

962 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 17:43:20.86 ID:Vd7vqFxu0.net]
小画面の意味がわからないし、大量とはどのくらいなのかもわからない

963 名前:デフォルトの名無しさん [2017/11/06(月) 17:48:57.32 ID:sVTioIv70.net]
なんだ勘違いかテキストで読み込んでるのは理由あんまりないんだ

964 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 17:51:17.55 ID:Z+IOadg3M.net]
>>942
そこをなんとか
>>943
10枚程度です。

965 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 17:53:30.02 ID:RoDWv0Jka.net]
ツールでボットやwebチェッカー使ってるんじゃないかな
ボット一個にwindow1個とか

そういうのはwindow一個で多数のものを扱うべき
リソースの無駄

966 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 17:55:01.56 ID:PxQVFHXG0.net]
どうせ並列で動いてるならPCもう一個買えよ

967 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 17:56:54.41 ID:JuX+gvIy0.net]
>>945
フォームを別に表示したら元のフォームには影響しないし
10や20くらいの別フォーム起動したくらいで重くなったことはない
小画面で何をやっているかわからないしスレッド分けて〜では多分解決しない
>>944
スレ違いだと思うけどアンチウィルスのパターンデータ更新みたいなのと勘違いしているだろ
VisualStudioだってバイナリアップデートなんだから

968 名前:デフォルトの名無しさん [2017/11/06(月) 18:06:53.58 ID:piexXh++0.net]
関数にListを渡す時に関数内で要素を書き換えできないようにするにはどうすればいいですか

969 名前:デフォルトの名無しさん [2017/11/06(月) 18:08:01.18 ID:QmwWSIUM6.net]
無理です



970 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 18:08:42.99 ID:JuX+gvIy0.net]
>>949
C#7.2を待つかそのlistをコピーして渡すか書き換えないように気を付けるかしてください

971 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 18:27:27.21 ID:rATvQkns0.net]
IReadOnlyListとして渡せばええやん

972 名前:デフォルトの名無しさん [2017/11/06(月) 18:33:50.08 ID:QmwWSIUM6.net]
>>952
なにそれ
オブジェクトのリストを作ったとしてそのリストの要素のプロパティを書き換えるのも出来ない?

973 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 18:35:54.11 ID:3XyzIl3H0.net]
>>951
readonly ref って構造体限定じゃね?

974 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 18:37:32.84 ID:RoDWv0Jka.net]
>>952
こんなものがあったのか
便利そう

975 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 19:01:30.72 ID:7bDcgZ2tM.net]
>>801
無いことがバレてプログラマの月収は一律18万円になった

976 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 19:16:12.58 ID:GQ87vZ7n0.net]
>>949
AsReadOnlyメソッドで足りるならそちらで

>>905
言い訳とは
普通にroslynのソースとダブルポインタを要求するPInvokeじゃ不満足?複雑なやり取りを低コストでやれてると思うが

977 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 19:34:57.48 ID:6qywALcU0.net]
>>941
スキルの無いヤツほどスレッドを使いたがる。
スレッドが何か分かっているヤツはスレッドでしか実現できない場合のみ仕方なくスレッドを使う。

978 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 19:43:20.15 ID:6qywALcU0.net]
>>938
質問の内容がワケワカラン過ぎるぞ。

979 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 20:15:45.06 ID:TIxTD8nqM.net]
>>957
> 普通にroslynのソースとダブルポインタを要求するPInvokeじゃ不満足?複雑なやり取りを低コストでやれてると思うが
だからそう言う言い訳はどうでもいいからコードを晒せよ



980 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 20:27:25.28 ID:XSO2MFzP0.net]
>>953
流石にそれを禁止するのは無理
IListにあるAddとかRemoveとかインデクサのsetterとかがないというだけなので

981 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 21:47:01.14 ID:Uzk0iC6KM.net]
>>958
では軽くする方法を教えて下さい。
子フォームでは重要なことは非同期で行っています

982 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 21:54:22.54 ID:PxQVFHXG0.net]
何やってるか知らんけど
10枚も出したらそれで限界な可能性は?
非アクティブなときも重いってあるかなぁ?

983 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 21:55:47.11 ID:4oP8v+rY0.net]
>>962
では重い原因を教えて下さい。
ただフォーム出して重くなったでは何も分かりません。

984 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 22:04:31.11 ID:TDT9B1paa.net]
>>962
まず重い原因を突き止めましょう。

純粋にFormのロード(表示)だけに時間がかかってるなら
個人的は軽量化は諦めた方がいいと思う

Loadか何かのタイミングで実行してる初期化が重いなら
そこを軽量化するなりタイミングを工夫するなり

個人的想像だと前者の可能性は低い気がする
というか、Vista時代のPCでも余程大量のコントロール乗せてたり
レイアウトパネル系を多用でもしてないとそこまで極端に重くはならんと思う

985 名前:デフォルトの名無しさん [2017/11/06(月) 22:06:21.11 ID:qEpy6DDg0.net]
Listを抽象化したいのですが、どのように書けば良いでしょうか?
以下のように書けるかと思ったのですがダメでした
よろしくお願いします

interface ITest
{

}

public class Test: ITest
{
public string hogege { get; set; }
}

class Hoge
{
List<ITest> test = new List<Test>();
}

986 名前: mailto:sage [2017/11/06(月) 22:06:24.98 ID:/hMSyilp0.net]
>>962
単純にそのアプリ、親アプリと子アプリに別けて、親アプリから小アプリを10個起動したら駄目なの?
重い処理があって辛いぐらいの機能があるなら、1つの子画面で親ごと巻き込まれて死んでほしくないし、俺ならプロセスから別ける。

あと、非同期でやってる、の非同期がasyncなら、それは普通にタスクを切り替えるスキの間隔が広いかとか、諸々普通に重いだけじゃないの?
await Task.Delay(1)とか呼んでみたら?

987 名前:デフォルトの名無しさん [2017/11/06(月) 22:11:16.29 ID:AYpingtn0.net]
>>966
右辺と左辺の型が違うじゃん

988 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 22:40:14.56 ID:Uzk0iC6KM.net]
>>967
その、プロセスの分け方教えて下さい!

989 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 22:48:51.69 ID:voxwNiAb0.net]
>>969
今更どうしようもないが、次作るときはウインドウの数減らしたほうが良いよ
できればメイン一つで画面遷移やタブで処理+ダイアログも同時に開くのは一つだけとかね



990 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 22:49:36.85 ID:9FNc82fk0.net]
死ね

991 名前:デフォルトの名無しさん mailto:sage [2017/11/06(月) 23:36:54.55 ID:VYb2y8+kM.net]
>>966
List抽象化はIList<Test> test= じゃないのかよw

992 名前: mailto:sage [2017/11/06(月) 23:50:31.09 ID:/hMSyilp0.net]
>>969
プロセスの分け方も何も、今フォーム起こすのに使ってるメソッドの引数を文字列にして、Process.Startで起動引数にして起動するだけのイメージだったけど。

993 名前:デフォルトの名無しさん [2017/11/07(火) 01:00:13.01 ID:cTk2bFo+0.net]
Parallelって非同期でしか使えない?

994 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 01:08:19.93 ID:V+BPLIz50.net]
うんにゃ

995 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 01:33:47.43 ID:TUoQCgcU0.net]
>>975
同期できるのか
使おうかな

996 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 02:12:31.67 ID:V+BPLIz50.net]
>>976
どういう用途を想定してるん?

997 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 09:07:17.90 ID:lDMoKAlXM.net]
そもそもParallelは同期処理に使うもんだぞ
Fork-Joinっていう、同期処理を並列で実行するパターン

998 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 12:22:40.45 ID:BMsgFSV6r.net]
一晩エスパーしたけどListの抽象化の意味解読できず

ITest[] tests = new Test[n];
IEnumrable<ITest> = new List<Test>();
なら可能だが

999 名前:デフォルトの名無しさん [2017/11/07(火) 15:05:18.45 ID:+aQKsyS3d.net]
リスト抽象化という分かってるようで何も理解できてないお題



1000 名前:デフォルトの名無しさん [2017/11/07(火) 15:17:32.57 ID:odkSTBx66.net]
>>980
新スレ頼んだ

1001 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 15:31:40.49 ID:QoqDyUp+0.net]
>>979
変数名忘れてる!

1002 名前:デフォルトの名無しさん [2017/11/07(火) 16:33:19.67 ID:pVSOD8mN0.net]
抽象化して継承するのと基本クラスにして継承するのと使い道がわからんよな

1003 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 16:46:40.87 ID:j6tNoJ1F0.net]
スレタイのC#表記は一つだけでいい
形骸化してる

1004 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 20:08:16.46 ID:LeQqgpmT0.net]
そういえばずっと疑問なんだが
そもそもC#て「シーシャープ」で合ってる? #はNo.だと習ったような...
それともスレタイどおり普通に「シーフラット」なのか?

1005 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 20:11:35.30 ID:QoqDyUp+0.net]
>>985
作った人によると(C++)++で、+を4つ並べて#にしたという
で、読み方はシーシャープだと

1006 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 20:14:22.37 ID:4uzCwn7XM.net]
>>985
正式にはシャープだけど、半角表記にするために井桁でもいいことになってる

1007 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 20:17:34.23 ID:LeQqgpmT0.net]
ほほう!!ありがとう!

1008 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 20:25:03.73 ID:LeQqgpmT0.net]
さすがに♭でなくて安心した

1009 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 20:48:12.22 ID:wMlMdyQ30.net]
>>987
ちょっと違う
半角で表せるようにC#と書いてC Sharpと読むと仕様書に明記されてる
C♯とかは間違い



1010 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 20:49:14.24 ID:bwe89n7Ka.net]
>>986
その話は後付けだったと思うけどw

つまりC#(C sharp)っていう名前が決まったのが先で、よく見るとこれって+が四つでインクリメント演算子が2つの
ようにも見えるよねって話だったはず

1011 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 20:50:12.84 ID:4uzCwn7XM.net]
>>990
いや公式な仕様書だと♯表記だよ

1012 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 20:50:44.75 ID:bwe89n7Ka.net]
>>990
そもそも#と♯が本来別文字かどうか怪しいw
印刷屋さんの都合じゃないのかと

1013 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 20:55:28.06 ID:t6NaVxzvH.net]
ナンバーサインと音楽記号シャープは
まったく別物でしょ

1014 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 21:00:34.38 ID:LeQqgpmT0.net]
次スレ建ててみる
1行目
!extend:checked:vvvvv:1000:512
でいい?なお、スレタイ変えない

1015 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 21:12:11.14 ID:LeQqgpmT0.net]
ふらっと C#,C♯,C#(初心者用) Part133
mevius.5ch.net/test/read.cgi/tech/1510056685/

1016 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 21:42:13.43 ID:kORl+ylV0.net]
おつ

1017 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 22:58:38.88 ID:JobEFelh0.net]
荒れてばかりなのにきちんと次スレの立つこのスレ >>996

1018 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 00:26:45.39 ID:lzmkdMJA0.net]
スレ立ておつ

1019 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 00:36:05.51 ID:CLyn8lVQ0.net]




1020 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 29日 5時間 35分 9秒

1021 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<263KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef