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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 11:01:47 ]
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

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

前スレ
ふらっとC#,C♯,C#(初心者用) Part42
pc12.2ch.net/test/read.cgi/tech/1245836827/


2 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 11:02:42 ]
2 名前:デフォルトの名無しさん[sage] 投稿日:2009/06/24(水) 18:47:58
-----関連スレ

C#, C♯, C#相談室 Part53
pc12.2ch.net/test/read.cgi/tech/1245150671/

WPF(XAML,XBAP,.NET3.5)GUIプログラミング Part4
pc12.2ch.net/test/read.cgi/tech/1245384489/

----参考サイト

www.google.co.jp/
msdn.microsoft.com/ja-jp/library/default.aspx
homepage3.nifty.com/midori_no_bike/CS/
www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html
dobon.net/vb/dotnet/
jeanne.wankuma.com/tips/
www.labasp.net/CsharpNote/

3 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 11:04:08 ]
OTU

4 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 11:33:34 ]
4ならおっぱい晒します

5 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 11:51:08 ]
しつもんです
親フォームを閉じたときに
子フォームを全部閉じたいのですが
どうすればいいんでしょうか?

6 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 11:58:54 ]
そこで悩むってことは参照の向きがおかしいんだよ
子フォームが親フォームを参照するんじゃなくて,親フォームが子フォームを参照するんだ
それなら親が子を閉じるのは何も難しくないし余計な依存もできない

7 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 12:46:11 ]
>>5みたいなレベルの質問もどうかと思うけど、
>>6のいう参照の向きがどうこうって話もちょっと意味不明だな。
なんでいきなりそんな話になるのかw

8 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 13:08:16 ]
つまり、親フォームは子フォームの存在をすべて知りうる立場にいるんだから
たとえば子フォーム作るたびに、List<Form>とかに記録しとけばいいってことだろ
で、親が閉じるとき、いちいち子フォームをClose()してけばいい

これを子フォーム視点で考えて、「親が閉じたら自分も自動的に閉じさせるには?」
とか考えはじめるとめんどくさくなる

9 名前:5 mailto:sage [2009/07/26(日) 13:28:30 ]
わかった
子formをnewした時の戻り値をlistに入れといて
それを使って消すようにする

10 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 13:37:52 ]
えっ?



11 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 13:38:29 ]
>>9
その部分だけクラス化しておくと後で再利用……しないかw

12 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 13:58:55 ]
C#とVB.NETってできることに差はあるんスか?

13 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 14:06:39 ]
どうだろね。本質的にそんな差はないと思うけど

C# - unsafeなポインタ演算ができるとか…
VB.NET - 初心者に「これならぼくにも使えそう」と淡い期待を抱かすことができるとか…

14 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 14:09:08 ]
なんだそれ

15 名前:5 mailto:sage [2009/07/26(日) 14:46:24 ]
親フォームから、子フォームの関数を実行させて
子フォームのほうで、this.close()すればいいのか?

16 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 14:50:27 ]
Form.Closeってパブリックメソットだと思うのですが

17 名前:デフォルトの名無しさん [2009/07/26(日) 16:54:34 ]
UMLって使っているんですか?

18 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 18:10:30 ]
使いたかったら使えるし使わないと作れないわけでもない

19 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 18:13:01 ]
>>15
何で親フォームから子フォームのFome.Close()を直接呼ばないんだ?

20 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 20:05:41 ]
Ownerちゃんと設定してたら勝手に閉じるだろ




21 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 20:07:24 ]
Owner設定しないんなら親側でコレクションしといて普通にClose呼ぶだけ


22 名前:5 mailto:sage [2009/07/26(日) 22:05:03 ]
コレクションって
インスタンスをとっておくってこと?

普通は子ウィンドウ作って、値渡してShowして終わりってかんじだから

23 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 22:44:14 ]
>>22
>8で詳しく書かれている通りじゃないか。
>20,21で書かれている方法もある。
ようするにわざわざ答えを貰っているその意味が分からないレベルなんじゃないのか?

コレクションという用語の意味が分からないなら、MSDNなりチュートリアルサイトなりで自分で調べろ。
いちいち人に聞くより既に解説されていることを理解した方が早いぞ。

24 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 23:49:16 ]
MSDNってちょこちょこコード出てくるけどライセンスどうなってるの?

25 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 23:52:51 ]
好きに使えばいいよ保証しないけど
というのが正しいかどうかは保証しないよ?

26 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 00:06:01 ]
MSDN Terms Of Use - MSDN 使用条件
msdn.microsoft.com/ja-jp/cc300389.aspx

27 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 00:24:22 ]
コンパイルして配布するなら自由で、ソースコードが露になってる場合はライセンスのコピーを一緒に配布しなきゃいけないみたいですね

28 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 09:41:41 ]
Fomeってのが新鮮だった

29 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 19:25:59 ]
自分が作るソースはForm1.csの中にnamespace WindowsFormsApplication1があって
その中にpublic partial class Form1 : Formがあって更にその中にメソッドとかイベントを詰め込んでいます

namespaceとか別のcsファイルを作って細かく分けた方がメンテナンスには有利でしょうか?
どういうときに分けた方がいいのかいまいちよく分かりません
オープンソースの2chブラウザtwintailのソース見ると非常に細かく分けてあって俺もこういう風に書いて見たいな
とあこがれがあったりします。

30 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 19:51:50 ]
クラスごとに分ける
partialで分けなきゃいけないほどバカでかいクラスは作らないのが基本



31 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 19:52:45 ]
全部を1ソースにまとめるのが一番楽ですよ

32 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 20:00:02 ]
partialなのはポトペタ使ったからではないかと

33 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 20:58:36 ]
>>29 partialはIDEの自動コード生成が使うものであって、人が使うものでは無いと思う。


34 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 21:25:48 ]
>>29
原則としてクラスごとに分ける。

ただしそれほどの規模のものでなく、互いに密着して使うようなクラス群なんかは
1つのソースに書いたりする。また、クラス内クラスも使う。
ある程度の規模になったらフォルダごとに分ける。
同時にnamespaceも切る。

自分で把握できないくらいソースツリーがでかくなったときは、
まずnamespaceを切って交通整理をすることを考えると良い。

35 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 22:56:59 ]
namespaceはあくまで文字通り名前にすぎないのであまり意味はない
規模が大きいなら適宜プロジェクトを切ってdllに分割する

36 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 23:28:50 ]
プロジェクトを分けるのはコードの見通しを良くするため、というより
(確かにそういう効果も期待できなくはないが)再利用のしやすさを考えて、
というのが主な動機じゃないのかな。

再利用するつもりもないものを別プロジェクトに切り出す人はあまりいない気がするけど。

37 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 23:49:45 ]
重いからというのもある

38 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 02:55:53 ]
Program.csって何のためにあるの?

39 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 03:41:56 ]
あなたのため

40 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 08:28:43 ]
あながち間違いではないなww

ユーザのために生成されたスタートアップのコードなんだから。




41 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 09:59:54 ]
>>38
それが本体。

エディタで開いて見てみればわかることだが、Program.csの中にMain関数があって、
プログラムはそっからスタートするんだと思えばいい。
Windowsアプリでフォームが表示されるより前に何かやりたい時は、そこにコードを書き足す。

42 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 10:12:49 ]
いや、たぶんMain関数は別の場所にも置けるから、
MainしかないProgram.csって何?って聞いてるのだと思うが。

43 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 10:26:49 ]
デザイナ使うと生成される・・・ってそんなことはsammaryに書いてあるだろ

>アプリケーションのメイン エントリ ポイントです。

44 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 11:37:42 ]
>>42
何か特別な理由がない限り、Program.MainをProgram.csから
別の場所に移すケースって無いと思うんだが。

標準があって無きが如しのC/C++ならともかく、
C#はVisual Studioのやることがデファクトスタンダードだから。

45 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 11:42:43 ]
if文での||の使い方が分かりません

string s;
string t;
string r;
if (s == t || r)
 return;

このごく自然で人間の感覚に則した書き方がコンパイルエラー

46 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 11:43:29 ]
if (s == t || s == r)

47 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 11:50:39 ]
ty
でもそれを許可すると可読性が低下しそう
比較元は必ず一つであることを保証した>>45の書き方に死角は無かった
C# 4.0で改定されるといいですね^^

48 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 11:52:19 ]
自然が良ければキャンパスノートにでも書いてろ

49 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 11:52:23 ]
無理です
はい次の方どうぞ

50 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 11:54:16 ]
>>47
演算子の優先順位変えられるわけねーだろ



51 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 11:56:39 ]
恐怖だなw

52 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 11:59:11 ]
COBOLにそういう文法があって・・・
まあそういう出自の人なんだろう。

53 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 12:02:11 ]
>>44
MSとか他のサンプルソースでけっこうMain移してるの多いよ

54 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 12:09:17 ]
ジェネリック型を使ったインスタンスの生成がうまくいきません。
このような形でListの中に入れるものを変える形でジェネリック関数を定義しようとしたのですが、

エラー CS1502: 'sample.Program.BuildList(out System.Collections.Generic.List<int>)' に最も適しているオーバーロード メソッドには無効な引数がいくつか含まれています。
エラー CS1503: 引数 '1': 'out System.Collections.Generic.List<T>' から 'out System.Collections.Generic.List<int>' に変換できません。

というエラーが出てしまいます。

public List<T> Build<T>()
{
List<T> list;
BuildList(out list);
Console.WriteLine(list.Count);
return list;
}


public void BuildList(out List<int> list)
{
list = new List<int>() { 1, 2, 3 };
}

public void BuildList(out List<string> list)
{
list = new List<string>() { "a", "b", "c", };
}


55 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 12:58:23 ]
>>53
ファイル数を減らすためじゃね

>>54
コンパイルエラーだからインスタンス生成関係ない

56 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 13:26:03 ]
>>55
失礼しました。コンパイルエラーを回避する実装法が分からないんです。

57 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 13:45:30 ]
>>56
Build メソッドを消して BuildList を呼ぶようにすればいい。

58 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 13:52:40 ]
>>57
提示した再現サンプルとしてはそうなりますね。
ただ、実際はBuild作業が長く、その中で使い分けたいんです。
また、Build()とBuildList()は別クラスの中にそれぞれあります。

59 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 14:05:10 ]
そもそも、それは本当にジェネリック型が必要な作業なの?
BuildはList<T>を返すってなってるけど、実際にはList<int>固定だったりしない?
>>54がどこまで再現してるコードなのかはよく分からないけど

60 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 15:04:26 ]
半端にC++のテンプレートをかじってる感じだな。
コンパイル時に型が確定するわけじゃないのでBuildListのオーバーロードは解決できない。
あとはoutはむやみに使わないことだな。
Build側でnewして参照を渡すか、BuldListでnewするなら戻値にするべきだろう。



61 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 15:57:10 ]
>>45 携帯で書いてるからエラーでるかもしれんが
if (new []{t, r}.any(x => x == s))

62 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 16:39:31 ]
string += int が出来るのに、
string -= int が出来ないのは犯罪的な理由を孕んでいる為ですか?

63 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 16:48:24 ]
どうも先ほどから頭悪そうな人がいますね^^

64 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 16:49:34 ]
ネタをふりたいならもう少し面白いのにしろ。

文字列同士の減算をサポートしてるスクリプト言語はありそうな気がするな。
掛け算が出来るのは結構ある。

65 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:00:54 ]
"test" -= "t"
で期待される結果が
"tes"

"es"
の二通りが存在するためやっぱだめじゃね?

66 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:07:42 ]
+= が後ろへ足すならば、 -= は後ろから引くになる
これが自然な発想

67 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:11:20 ]
なんで?

68 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:13:18 ]
+=で前に足されたことある?

69 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:15:15 ]
むしろ
"test" - "a"
の方が問題じゃね?

文字列 * 数値は分かりやすいけど、数値 * 文字列だと途端に意味不明に
* なのに交換法則が成り立たないのは気持ち悪い

70 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:16:36 ]
まあ文字列の足し算は前後入れ替えると結果が変わるから特別扱いじゃないかな。
最初の、+= int だとintが文字列になって追加されるけど、-= int だとどういう結果が予測される?



71 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:16:43 ]
前に足したければ逆に書けばいい
前を引くにはどうする?

72 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:17:15 ]
自然な発想とかそういうことじゃなくて
演算子の意味とか順序はきちんと規格で決められてることなんだし

個人の直感と食い違っていても規格書に従わなきゃならない
それがコンピュータ言語

73 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:20:05 ]
掛け算は交換則が成り立つというのは思い込みだよ。

74 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:26:13 ]
x = 1
1 = x
むしろこれが出来ないならそれが成り立つ方が気持ち悪い

75 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:27:55 ]
結合則もたいがい成り立たない

76 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:28:26 ]
うるさいから俺言語でも作って喋ってろ
タコども

77 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:35:44 ]
"test" - "a"
→"test"
左辺が右辺の最後尾に存在しなかったので0の扱い

1-0
→1

78 名前:58 mailto:sage [2009/07/28(火) 17:50:58 ]
>>59
BuildList()で返すべき型が、バイナリレベルで配置が決められてる
いくつか定義したstructのひとつになっています。
今は3つの型ごとに処理関数を用意していて構築手順が3段階あるので9個定義してると。

>>60
C++のtemplateと動作原理が違うのは知ってますが、
どういう記述ができないのかのドキュメントがあまり見当たらなくて困りますね。
最初は戻り値で返していたのですがエラーが出たのでoutに切り替えたわけです。(変わりませんでしたが)
最終的にベタのbyte[]にならすので、そこの部分まで一括で行うクラスを用意した方がいいのかもしれません。

79 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 17:59:09 ]
public List<T> BuildList<T>() {
 if (typeof(T) == typeof(int)) return (List<T>)(object)new List<int>() { 1, 2, 3 };
 else if (typeof(T) == typeof(string)) return (List<T>)(object)new List<string>() { "a", "b", "c", };
 else throw new ArgumentException();
}
こんなふうに実行時にやってしまうことはできる
outは原則使うな

80 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 18:15:38 ]
何が駄目って型を解決できなきゃ全部駄目だよ
「変換できません」ってエラーが出てんだから



81 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 18:23:20 ]
.NETのジェネリックはコンパイル時ではなく実行時に特殊化されるから
凝ったことするには実行時にリフレクションで頑張るのが基本

82 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 20:52:12 ]
ジェネリックデリゲートを作って実行時にバインドしてやれば何でもありだぜ。


83 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 21:35:13 ]
コンパイル時にはTの部分がすべてobjectだと思えば間違いない。
制約をつければ別だけど。
それでコンパイル時にはBuildList(out List<object>) で検索に行く。
BuildList(out List<int> list)
BuildList(out List<string> list)
と順に探すが一致するのものがないのでコンパイルエラー。

84 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 21:42:52 ]
それは間違いだ
ジェネリックの共変・反変はサポートされていないので
BuildList(out List<object>)が仮に定義されていたとしてもコンパイルエラーになる
C#4.0でジェネリックの共変・反変が制限つきでサポートされるけどList<T>には使えないと思われる
(List<T>は書き込みが可能なので型安全性が保証できないため)

85 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 23:23:38 ]
入社して1年半がたった。オペレータ部署に配属されたときは絶望を感じた
ただ、仕事を始めると、どちらかというと人と多くかかわる仕事でやりがいが出てきた。
いろいろ怒られたけど、楽しいと思えた。

そして昨日、ついにその部署の廃止が決まった。廃止というより仕事が完了したから解散か・・・
明日からC#.NETをやってもらうからと告げられた。

俺が分かる言語は、MOVE、COMPUTE、PERFORMです。
オブジェクト指向?なにそれ?Java?名前は知ってる。

さて、どうするかな・・・

今日は部署移動とPCのセットアップで時間使ったが明日からやらなくてはいけない。

86 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 23:25:29 ]
マ板でやれ

87 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 23:26:11 ]
>>77
それだと
"test" + "0" が "test0" で、
"test0" - "0" が "test0" になるよ

88 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 23:30:03 ]
このスレは職業マに厳しいです
アマチュアが当り散らしてきます

89 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 23:31:49 ]
プログラマがシュミグラマに質問するしてるのもあきれるけどな

90 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 23:47:11 ]
加法にはゼロ元と逆元が存在するはずだが
文字列の結合を加法とした場合、
ゼロ元は空文字列だが逆元は何なのかね?



91 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 23:47:20 ]
まーね

92 名前:デフォルトの名無しさん mailto:sage [2009/07/28(火) 23:56:23 ]
ネタのつもりかもしれないけど、面白くないし
数学の本質が分かってないからinterestingでもないな。

93 名前:デフォルトの名無しさん [2009/07/29(水) 12:55:37 ]
メインフォームよりShowDialogで表示した自作モーダルから、更に同様に表示した別の自作モーダルを閉じると、
最初のモーダルも閉じてしまいます。
OpenFileDialog等だと大丈夫なのですが。

94 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 13:03:07 ]
本当かよ思って下のようなコードで試しましたが、ごくまともに普通に動作します

public partial class Form1 : Form
{
public Form1() {
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e) {
Form1 f = new Form1();
f.ShowDialog();
}
}

99%なんかやらかしてます。

95 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 15:37:27 ]
>>94
ありがとうございます。
やらかしてました・・・。
DialogResult.OKのままでした・・・orz

96 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 18:25:32 ]
C# 2008EE。
Processクラスを使用しコマンドラインプログラムをcmdで起動したいのですが、
スペースを含むフォルダにあるコマンドのパイプラインを使うコマンドの起動ができません。
Process.StartInfoのArgumentsの「"」の問題と思いますが、わかりますでしょうか?
info.FileName="cmd";で、

info.Arguments = @"/c ""c\a.exe"" | ""c:\b.exe""";
がダメで、「ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。」になる。
info.Arguments = @"/c c:\a.exe | c:\b.exe";
info.Arguments = @"/c ""c:\a.exe""";
は成功します。@をとって\->\\、""->\"にしても同じです。よろしくお願いします。

97 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 18:38:36 ]
パッと見てもどこで区切れるか迷うな

""c\a.exe"" | ""c:\b.exe""

これとかどう解釈するんだろう

98 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 18:49:27 ]
c\a.exe これCのあとにコロンが抜けてないか?

99 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 18:53:03 ]
これ試したら普通に動いたぞ

"/c \"\"F:\\User\\xxxxxxxx\\Documents\\Visual Studio 2008\\Projects\\test\\test\\bin\\Debug\\test1.exe\" | \"F:\\User\\xxxxxxxx\\Documents\\Visual Studio 2008\\Projects\\test\\test\\bin\\Debug\\test2.exe\"\""

100 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 18:54:29 ]
>>99で動くってことはパイプ記号の前後が1つずつ多いんじゃない。



101 名前:デフォルトの名無しさん mailto:sage [2009/07/29(水) 19:03:36 ]
実にくだらないな






[ 続きを読む ] / [ 携帯版 ]

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

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