トップページ⇒tech
1002コメント318KB

ふらっと C#,C♯,C#(初心者用) Part119 [無断転載禁止]©5ch.io

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2016/01/31(日) 00:52:20.67ID:OtXGSzkV
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

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

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

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part118 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1448207673/

■関連スレ
C#, C♯, C#相談室 Part89 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1443271409/

■コードを貼る場合は↓を使いましょう。
http://ideone.com/
0153デフォルトの名無しさん2016/02/06(土) 06:05:32.74ID:oAqoRpi+
CheckAの返す型も要るから、Machine<X, E>か。
0154デフォルトの名無しさん2016/02/06(土) 11:08:19.37ID:R9MO+uq2
ベジェをGraphics.DrawBezierで描きつつ実際の座標も欲しいので
ttp://studio-rain.cocolog-nifty.com/blog/2008/07/post_c4f5.html
このサイトを参考に自前で多数のベジェを計算・描画してみました
すると座標計算速度は速いけど、Graphics.DrawLineやFillEllipseで実際に描画するのに時間がかかって、Graphics.DrawBezierより明らかに遅い
さらに太さのある線を描こうとすると、無駄な描画が増えるので当然だろうけどもっと遅くなる

速度を上げるには、
・ベジェ計算だけ自前で行って描画はDrawBezierに任せる(ただしピクセル単位で実際の描画とズレるかも)
・アンマネージでの画像操作を覚える(よく知らない)
・GPUを利用して並列描画する?(よく知らない)
というあたりでしょうか?
0155デフォルトの名無しさん2016/02/06(土) 11:12:49.04ID:0UWDYh4J
>>154
WPF使うとかHTMLのCanvas使うとか
01561542016/02/06(土) 11:41:53.83ID:R9MO+uq2
WPFでは実行部分をC#、描画にDirectxを使えるんですね
調べてみます
ありがとうございました
0157デフォルトの名無しさん2016/02/06(土) 11:54:43.51ID:6GrwE9uC
2012 ExpressでHtmlAgilityPackを使用したくnugetでインストールしようとしているのですが
「ファイルのデータが壊れています」というメッセージが出てインストールできません。
どのような原因が考えられるでしょうか?
0158デフォルトの名無しさん2016/02/06(土) 13:13:58.51ID:MAd5yVbQ
>>151
まだまだ初学者なんで間違ってるかもしれませんが
リファクタリング本とかCODE COMPLETEみたいな本で学んでいると

なるべくメソッドは、入力に対して出力返すようなシンプルな作りがいいと思いまして

メソッド名見ただけで使い方が分かるような物がいいと考えると

出力として欲しいものをrefでごちゃごちゃ渡していくのって、どうなのかなって思いました
0159デフォルトの名無しさん2016/02/06(土) 13:45:33.36ID:ewLa/pEP
>>158
> なるべく‥
なんだから、無理に ref を避けなくてもいいと思うよ
0160デフォルトの名無しさん2016/02/06(土) 14:30:55.01ID:4STRQeN+
>>158
C/C++の時代からのやり方だ,素直に従いたまえ
0161デフォルトの名無しさん2016/02/06(土) 15:55:34.62ID:57BGy/1R
>>158
その感性は100%「正しい」
過去の習慣に惑わらせずにref は例外中の例外でOK
0162デフォルトの名無しさん2016/02/06(土) 17:11:18.28ID:MAd5yVbQ
>>152
メソッドチェーンで繋げて評価できるのが凄くいいですね
参考にさせていただきます。

こういうパターンって何かに使われてるんでしょうか?


それからscalaのvalidationも調べてみます。
0163デフォルトの名無しさん2016/02/06(土) 17:24:02.03ID:21OGO6t2
>>158
クエリとコマンドを明確に区別してコードを書く
クエリはシステムを変更しない
コマンドは何も戻さない
クエリ結果が2つ以上になるならそれらを含む別のクラスを作成する
極論するとシステム開発なんてこれだけで全てうまくいくんだよね
0164デフォルトの名無しさん2016/02/06(土) 17:28:55.18ID:5yNQjtYt
>>163
>クエリ結果が2つ以上になるならそれらを含む別のクラスを作成する
これ面倒臭がる人多いよね
0165デフォルトの名無しさん2016/02/06(土) 18:11:28.77ID:ewLa/pEP
>>161
で、代賛案もなしかよ w
0166デフォルトの名無しさん2016/02/06(土) 18:33:15.79ID:5kvIq2AE
Tuppleを使うか戻り値2つを保持できる構造体かクラスを定義ってのが定番かな
後はDynamicを使う方法か
0167デフォルトの名無しさん2016/02/06(土) 18:36:47.78ID:PmjXQmD8
Tuppleやdynamic使う位ならrefの方がまし。
Tuppleやdynamicこそ例外中の例外。
0168デフォルトの名無しさん2016/02/06(土) 18:40:04.21ID:VXVqCJqs
自分の意見を一般化して喋る奴ばかりだな
聞くだけ価値ゼロ
いや、時間のムダだからマイナスか
01691522016/02/06(土) 18:47:37.87ID:57BGy/1R
C#7.0からは
(IsValid, Errors) = Foo();
と書ける様になるはず。

今回の場合は、Errorsがemptyかどうかで判断出来るが。
仕事で書くなら、それ用の箱を書くかな。
0170デフォルトの名無しさん2016/02/06(土) 18:52:33.42ID:57BGy/1R
> メソッドは、入力に対して出力返すようなシンプルな作りがいい
これは、この数十年間のソフトウェアの歴史の叡知であり「真理」だと思うよ。
0171デフォルトの名無しさん2016/02/06(土) 19:05:30.74ID:n+PBDQ0c
宗教くせえw
0172デフォルトの名無しさん2016/02/06(土) 19:17:34.47ID:21OGO6t2
>>171を異端審問にかけるべきだ
0173デフォルトの名無しさん2016/02/06(土) 19:31:32.52ID:drYYhGSp
そんなことよりどういう変換で「代賛」という漢字を導き出したのかそっちのが気になる。
0174デフォルトの名無しさん2016/02/06(土) 19:42:30.58ID:5ZOibTPd
言われるまで気づかなかった
0175デフォルトの名無しさん2016/02/06(土) 21:12:46.76ID:BtpsJL+V
var a b = Foo();

Foo => 1 "xyz";
または
Foo()
{
return 1 "xyz";
}

こう書けたら素敵かもw
0176デフォルトの名無しさん2016/02/06(土) 21:23:54.91ID:BtpsJL+V
オーバーロードは
void Foo(int a, int b, int c)
|(a, b, 1)
|(a, 0, _)
=> a + b + c;

こんな風に書けたら素敵ww
0177デフォルトの名無しさん2016/02/06(土) 21:24:40.73ID:BtpsJL+V
間違えた
void → int
0178デフォルトの名無しさん2016/02/06(土) 21:26:58.54ID:7g0sefOr
タプルとパターンマッチは次期バージョンで導入候補になってるよ
0179デフォルトの名無しさん2016/02/06(土) 21:28:31.35ID:HCmnTZ9V
あまりの奇形さに苦笑い
0180デフォルトの名無しさん2016/02/06(土) 21:29:43.90ID:HCmnTZ9V
>>178
一年以上言い続けてる気がするけどいつ確定すんの、あれ
0181デフォルトの名無しさん2016/02/06(土) 21:32:52.44ID:7g0sefOr
Javaよりマシ
C#が世界でJavaに次ぐ巨大なシェアを有するエンタープライズ用言語であることを忘れてないか
0182デフォルトの名無しさん2016/02/06(土) 21:54:57.00ID:5ZOibTPd
下を見てマシマシ言うのはやめていただきたい
底辺の人間のようだ
0183デフォルトの名無しさん2016/02/06(土) 22:00:46.96ID:BtpsJL+V
f1() => 1;
f2() => "xyz";

Foo => f1() f2();

こうすると奇形さ倍増w
0184デフォルトの名無しさん2016/02/06(土) 22:06:40.40ID:5ZOibTPd
これまでのC#のバージョンアップサイクルは2~3年だった
次も同程度なら2017年末から2018年初頭だろう
せっかくRoslynを公開したんだから短縮を期待したいがどうかな
0185デフォルトの名無しさん2016/02/06(土) 22:30:58.04ID:hDlUnW/n
プログラミング初心者なのですが誰か助けてくれませんか?(TT)
0186デフォルトの名無しさん2016/02/06(土) 22:43:31.32ID:mc+HvOWK
?
0187デフォルトの名無しさん2016/02/06(土) 22:51:44.38ID:hDlUnW/n
受信したデータを,で分割して4つのdouble型の変数に代入して表示したいのですが
string data = serial.ReadLine();
string[] data2 = data.Split(',');
double a = double.Parse(data2[0]);
double b = double.Parse(data2[1]);
double c = double.Parse(data2[2]);
double d = double.Parse(data2[3]);
Console.Write("a={0}\n, b={1}\n, c={2}\n, d={3}\n",a,b,c,d);追加情報:入力文字列の形式が正しくありません。
というエラーが出てきてすすめないです
0188デフォルトの名無しさん2016/02/06(土) 22:55:41.01ID:7g0sefOr
まずdataの内容をコンソールに吐いて確認
0189デフォルトの名無しさん2016/02/06(土) 22:56:47.69ID:BtpsJL+V
Parseではなく、TryParseを使って逐次エラー処理をする。
0190デフォルトの名無しさん2016/02/06(土) 23:00:07.68ID:BtpsJL+V
外部からのデータの整合性を前提にするのは絶対にやってはいけない事。

Parsecでも使っときなさい。
0191デフォルトの名無しさん2016/02/06(土) 23:07:33.12ID:hDlUnW/n
>>188 dataの内容はarduinoから送られてくる値で110,10,11,11このような形式になってます
>>189
>>190しらべてきます
0192デフォルトの名無しさん2016/02/06(土) 23:13:06.42ID:YiRMDi0V
>>191
送られてくるのはそれなんだろうけど
>>188が言ってるのは、その「110,10,11,11」のような値が
正しく入ってきているかをコンソールに出して確認してみよう、ってことだと思うんだけど
0193デフォルトの名無しさん2016/02/06(土) 23:14:31.90ID:hDlUnW/n
>>192 そうですね ご指摘ありがとうございます
正しく入ってきています
0194デフォルトの名無しさん2016/02/06(土) 23:25:53.91ID:ewLa/pEP
>>187
> Console.Write("a={0}\n, b={1}\n, c={2}\n, d={3}\n",a,b,c,d);
今のエラーに直接関係ないけど {0} って文字列用だぞ
0195デフォルトの名無しさん2016/02/06(土) 23:28:25.15ID:BtpsJL+V
Consoleでは正しく表示される(文字列として)とは限らないから、dataをbyte[]に変換して見た方がいい。
0196デフォルトの名無しさん2016/02/06(土) 23:36:52.45ID:PmjXQmD8
>>194
どこでそんな出鱈目を。
勝手にToString()されますがな。
0197デフォルトの名無しさん2016/02/06(土) 23:48:43.66ID:BtpsJL+V
原因は、encodingと予想して寝る。
0198デフォルトの名無しさん2016/02/06(土) 23:51:16.10ID:5yNQjtYt
デバッガでdataの中身見ればいいだけじゃないの?
0199デフォルトの名無しさん2016/02/07(日) 00:18:04.40ID:7cY+VLxE
そういえばVSのデパッグ機能使ったことないんだけどあれ使ったほうがいいの?
いつもデパッグするときは、コンソールライトラインで出力して修正してるんだけど
0200デフォルトの名無しさん2016/02/07(日) 00:41:02.93ID:mpmibCLh
何の為にデバッガがあるというのか・・・・・・・
0201デフォルトの名無しさん2016/02/07(日) 03:43:57.06ID:E6ZbUD9S
デパッグとは
0202デフォルトの名無しさん2016/02/07(日) 04:18:29.60ID:ubsUoPtC
printデバッグっつー
人間の発達段階で言えば赤ちゃんのデバッグ方法
0203デフォルトの名無しさん2016/02/07(日) 04:29:19.69ID:0jpZBnXl
アセンブラ、アセンブリ、アセンブル…
0204デフォルトの名無しさん2016/02/07(日) 09:06:46.60ID:YehISXuU
>>196
すまん、なんか寝ぼけてたわ
0205デフォルトの名無しさん2016/02/07(日) 10:58:08.95ID:jvYVRZ1r
>>199
最低限、ブレークポイントとステップ実行と変数のウォッチをおぼえよう
バグの大半はクラッシュの場所か分岐で間違った方へ進むか変数の内容がおかしいか
0206デフォルトの名無しさん2016/02/07(日) 11:47:40.65ID:+CXgcQuQ
data2[3]に改行が入ってるとか
0207デフォルトの名無しさん2016/02/07(日) 12:54:26.02ID:+iI8pPYd
ReadLineは改行含まれん
0208デフォルトの名無しさん2016/02/07(日) 12:55:38.99ID:7cY+VLxE
>>205
使ってみます
0209デフォルトの名無しさん2016/02/07(日) 15:32:32.86ID:P4gwgVRD
.NETはデータブレークが使えないからうんこなんだよな。
0210デフォルトの名無しさん2016/02/07(日) 17:54:24.49ID:QHXOM6yq
VSがForm Aplicationのサポートを事実上終了したので、個人用アプリ開発においてVSのC++CLRからC# WPFに移行しようとしています。
が、思ったよりも違いが多くて訳がわかりません。初心者スレとのことなので質問するのですが

以下の様な画面構成でアプリを作ろうとしています
1.Mainメニュー(ボタンとして主機能画面に移行・設定画面に移行・それと主機能の内容を選択するコンボボックス)
2.主機能画面(複数画面を遷移するのでPageで作成予定)
3.設定画面(ダイアログにするかどうかは考え中)

んで、ダイアログの表示はFormAplicationと大差ないので余裕だったのですがPageというものをうまく表示できません
つまり、NavigationWindowを継承していないwindow(MainWindow)からNavigationServiceを動かす方法がよくわかりません。
というか単語の意味を正確に把握できていないので自分が正しく質問できているかもよくわかりません

参考にしたサイトは以下です:
https://msdn.microsoft.com/ja-jp/library/ms752299(v=vs.110).aspx
http://gushwell.ldblog.jp/archives/52335648.html

自分の書いたソースは
<Frame x:Name="controlFrame" Content="" NavigationUIVisibility="Hidden" Margin="-565.5,-23.5,0,-3.5" Grid.RowSpan="2" HorizontalAlignment="Left" Width="517"/>
(MainWindowのXamlに追加)

public NavigationService _navi;
public MainWindow()
{
InitializeComponent();
_navi = controlFrame.NavigationService;
}
private void onClickButton(object sender, RoutedEventArgs e)
{
Page1 p1 = new Page1();
_navi.Navigate(p1);
}
} (MainWindow.xaml.csに追加) こんな感じでButtonを押してもPage1が見えてくれない状態です
0211デフォルトの名無しさん2016/02/07(日) 17:58:49.93ID:TdnGwusc
formサポート終了するってまじか
0212デフォルトの名無しさん2016/02/07(日) 18:25:04.36ID:OK0009Vg
実際のところWPFとか使われてるの?
不発弾のイメージしかなかったけど。。
0213デフォルトの名無しさん2016/02/07(日) 18:29:09.02ID:vhQgXj1G
というよりデスクトップアプリ自体が終わっちゃったからね
どうしても必要な場合もElectronのようなものを使って極力Webに合わせる時代
0214デフォルトの名無しさん2016/02/07(日) 19:00:24.97ID:ZN2qfSkc
Timespanの使い方について質問です
時間の文字列が入ったイベントが発生したとします
分毎にまとめて処理したいのですがどうすればできますか?
0215デフォルトの名無しさん2016/02/07(日) 19:05:53.67ID:n2daTw5S
Electronとか言ってるやつの大半は使ったことすらない法則
何が悲しくてデスクトップに生産性最悪のHTMLとjavascriptを持ちこまなければならんのか?
0216デフォルトの名無しさん2016/02/07(日) 19:09:23.84ID:ubsUoPtC
別に終わってもいいけど、そんな話が出てるなら初心者より先に誰かが騒ぐと思うので、ちょっと眉唾

>>210
左Marginが-500になってるから亜空間にトンドルんじゃないですか?
0217デフォルトの名無しさん2016/02/07(日) 19:18:07.84ID:ubsUoPtC
あ、C++CLIって書いてあるの見落としてた
0218デフォルトの名無しさん2016/02/07(日) 19:21:10.59ID:6bkdKOR7
>>217
Form Aplication=C++CLIって勘違いなのかね
0219デフォルトの名無しさん2016/02/07(日) 19:22:50.89ID:ubsUoPtC
本当だ
「空のC++CLRプロジェクト」の作成テンプレート無くなってら
でもこれで困る人はWPFユーザーよりレアだと思う
混在アセンブリを作成している人くらいか?
0220デフォルトの名無しさん2016/02/07(日) 19:34:03.60ID:ubsUoPtC
>>214
具体的にどこまでできていて、何ができないんだ
そもそも時間の文字列なのにTimeSpanなの?期間じゃなくて?
0221デフォルトの名無しさん2016/02/07(日) 19:36:12.24ID:TdnGwusc
>>213
リッチクライアントの需要は今後また増えると思うよ
スマホアプリ群雄割拠で皆学んだと思うけど端末に依存しないUIプログラムはたとえ動いてもUXが悪くて使い物にならない
どうせ端末毎に最適化されたコードを書くならWebを捨ててリッチクライアントに回帰したほうが楽だし高品質じゃんとなる
0222デフォルトの名無しさん2016/02/07(日) 19:55:35.52ID:ZN2qfSkc
>>220
説明不足ですみません
サーバーから送られてくるデータ(株価)が文字列なんです
それを受信しているのですが、今は受け取ったデータをtexboxに流しているだけです
10:00:00 100
10:00:10 101
10:00:30 102
10:00:59 99
10:01:05 100
・・・
・・
・
このデータを分毎に四本値に処理したいのですが最善の方法を教えてください
今の時刻から60秒の間隔で処理させるにはどうすれば良いか考えているのですが・・・
0223デフォルトの名無しさん2016/02/07(日) 20:27:54.95ID:SMFdLNV2
>>222
前提と要求を1つ1つ箇条書きで列挙して
0224デフォルトの名無しさん2016/02/07(日) 20:40:18.61ID:WdUVaaF1
>>222
前回時刻、 始値、安値、高値、終値のフィールドは適当に初期化しておく

受信した現在時刻と現在値をString.Split、DateTime、DecimalなどでParseする
前回時刻と現在時刻の年月日時分を比べる
一致しているなら、安値、高値を必要に応じて更新し、前回時刻と終値に現在の値を設定する
一致していないなら前回時刻、始値、安値、高値、終値を出力し、前回時刻、始値、安値、高値、終値に現在の値を設定する

この程度が書けないようではこの先生きのこれないぜ
恐らく次は誰もが横着してねえで勉強しろカスと回答する
0225デフォルトの名無しさん2016/02/07(日) 21:12:16.37ID:ZN2qfSkc
>>224
ありがとうございます
c#のことが全くわからないので助かりました
0226デフォルトの名無しさん2016/02/07(日) 22:37:32.87ID:EIEJb+tM
継承という概念を学習中の初心者です
こういうことは可能なのかという質問をさせてください

Aというスーパークラスの中にStream型の変数strmがあり
Aを継承したBやCというサブクラス内では
Stream型から派生したFileStreamやMemoryStreamを代入しています
しかし当然ながらStream型の変数に入れているので
Stream型のメンバーは呼び出せても
FileStreamやMemoryStream固有のメンバーの呼び出しができません
これを上手いこと実現するような方法はありますか?
※現在はそういったメンバーの呼び出しのたびにキャストしています。

見当違いな考え方をしていたら指摘ください。

public class A {
protected Stream strm;
public A() {
strm = new Stream();
}
}

public class B : A {
public B() {
strm = new FileStream();
}
}

public class C : A {
public C() {
strm = new MemoryStream();
}
}
0227デフォルトの名無しさん2016/02/07(日) 22:40:37.47ID:pDArDbnY
ジェネりクスを使え
0228デフォルトの名無しさん2016/02/07(日) 22:46:28.86ID:2xuESUN6
>>226
そもそも何のためにAでstrmを宣言してるの?
Aの中でStreamに対する共通の処理(Close)の面倒を見たいとか?
だったらこうすればいい
abstract class A {
 protected abstract Stream Stream { get; }
 public void CloseStream() { this.Stream.Close(); }
}
class B : A {
 private Stream strm;
 public B() { strm = new FileStream(); }
 protected override Stream Stream { get { return strm; } }
}
protectedフィールドなんかよほどの事情が無い限り使っちゃダメ
0229デフォルトの名無しさん2016/02/08(月) 00:38:01.16ID:omcXALNz
>>226
もはや継承は時代遅れ。
0230デフォルトの名無しさん2016/02/08(月) 00:39:21.18ID:omcXALNz
>>210
Pageなんか使うなよ。
0231デフォルトの名無しさん2016/02/08(月) 00:51:03.86ID:t4nfvp5Z
また変なのが来た来た
0232デフォルトの名無しさん2016/02/08(月) 01:02:04.87ID:vHpbqQsu
継承はアンチパターン
0233デフォルトの名無しさん2016/02/08(月) 01:02:40.81ID:qItXnEJ5
>>210
ソースもってこいや!
0234デフォルトの名無しさん2016/02/08(月) 01:09:38.20ID:ohcgMxuP
FileStreamとMemoryStreamで共通の処理なんてあるのかね
0235デフォルトの名無しさん2016/02/08(月) 02:08:36.47ID:REXLJUev
素人はわけもなく継承を使ってみたいんだよ。
0236デフォルトの名無しさん2016/02/08(月) 02:45:20.79ID:9ExexpSh
public class A<T> where T : Stream {
 public T strm;
 public A() {}
}

public class B : A<FileStream> {
 public B() {
  strm = new FileStream("", FileMode.Open);
 }
}

public class C : A<MemoryStream> {
 public C() {
  strm = new MemoryStream();
 }
}
0237デフォルトの名無しさん2016/02/08(月) 05:37:38.22ID:Mwo03qgv
>>236
内部実装のためにクラスの型引数を汚すな
共通のA型として扱えなくなってそれこそ継承の意味がない
0238デフォルトの名無しさん2016/02/08(月) 07:03:28.50ID:blpM25DK
class B {
 public abstract Stream Create();
}

class M {
 public override Stream Create(){…}
 public void Method() {
  var s = base.Stream as MemoryStream;
 }
}
0239デフォルトの名無しさん2016/02/08(月) 07:53:03.81ID:t4nfvp5Z
さっきからクソクラス貼ってる奴は何なの?
芸人気取り?
0240デフォルトの名無しさん2016/02/08(月) 07:59:15.01ID:omcXALNz
>>226
> 固有のメンバーの呼び出し
それを使って、BとCに同じ振る舞いを持たせたいのか?
必要なケースが浮かばないが、無理矢理やるならAに
abstract int 振る舞い()
みたいなのを持たせれば良いが、お薦めはしない。
02412262016/02/08(月) 11:18:31.02ID:LZ12yzMb
まだ分からないことが多いので
皆さんに提示していただいたのを参考に一つずつ調べてみます

>240
ストリームに対する基本的な処理は
クラスAでまとめておいて
FileStreamやMemoryStreamを使うときは
それぞれ別のクラスBやCを用意して
そこではFileStreamやMemoryStreamのみが持つメソッドも
呼び出せるようにならないかなと思いました
0242デフォルトの名無しさん2016/02/08(月) 11:50:15.03ID:GixGib55
>>241
固有の機能は直接Streamプロバティーを弄るんじゃなくて、固有の機能を使うメソッドをそれぞれのクラスに実装するのが常套手段だね
0243デフォルトの名無しさん2016/02/08(月) 14:22:28.12ID:Wxu8bEfW
委譲案件
0244デフォルトの名無しさん2016/02/08(月) 15:39:39.69ID:R5fKsVvX
フォーカスを奪わないで外部プログラムを実行する方法を教えてください
0245デフォルトの名無しさん2016/02/08(月) 16:23:11.68ID:ONEbZjvm
外部プログラムを実行してから、
元のフォーカスに戻ればいいんじゃね?
0246デフォルトの名無しさん2016/02/08(月) 16:28:23.58ID:7T6Ba+h0
外部のプログラムがフォーカスを弄る可能性があるので確実な方法は無い
特定のケースで良いのならフォーカスの奪い合いをする
0247デフォルトの名無しさん2016/02/08(月) 18:23:27.98ID:cKFrgwtc
>>142ですが
>>152のやつのコードを書いてみたので載せておきます

http://ideone.com/LPaQn3
0248デフォルトの名無しさん2016/02/08(月) 19:37:53.54ID:omcXALNz
>>247
お疲れ様。

細かい点は色々あるけど、初心者でこれだけ作れたら十分だと思う。

一点だけ。
Checkerは、static classでOK。
0249デフォルトの名無しさん2016/02/08(月) 23:47:56.13ID:Y0ekGZiq
ダサいコードだな
センスないよ
0250デフォルトの名無しさん2016/02/09(火) 00:37:07.07ID:1ndwTYNc
>>249
お前のコードをみせてみろ
0251デフォルトの名無しさん2016/02/09(火) 04:33:13.63ID:+R3lhPoz
いやらしいっ
0252デフォルトの名無しさん2016/02/09(火) 11:30:59.99ID:LZa6/uPt
Listから指定した範囲(intLange)の値を取得する時、範囲の大きさにもよるとは思いますが
for (int i = 0; i < intLange; i++)
{
bytArray[i] = lstArray[i];
}
よりも
bytArray = lstArray.GetRange(0, intLange).ToArray();
の、方が早いですか?
■ このスレッドは過去ログ倉庫に格納されています