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


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



1 名前:デフォルトの名無しさん(ワッチョイ 5394-4hBO) mailto:sage [2016/12/27(火) 02:07:41.47 ID:HrGPkQcW0.net]
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

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

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

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

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part125
echo.2ch.net/test/read.cgi/tech/1475930006/

■関連スレ
C#, C♯, C#相談室 Part91
echo.2ch.net/test/read.cgi/tech/1467211515/

■コードを貼る場合は↓を使いましょう。
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 configure

684 名前:デフォルトの名無しさん (ワッチョイ eb77-B7Z5) mailto:sage [2017/02/19(日) 10:37:13.44 ID:gToSbtQT0.net]
>>671
後者じゃ、再生終わる前に終了しないかな

685 名前:669 (ワッチョイ 6f20-eq+O) [2017/02/19(日) 10:41:11.22 ID:7g+LYPG/0.net]
Console.ReadLineの削除で
プログラムが終了したので悩みが解消したのですが、
音声再生が開始される前にプログラムが終了するという
新しい悩みが生まれました

音声再生の完了をコールバック等で受け取る方法は
あるでしょうか?

686 名前:デフォルトの名無しさん (ワッチョイ eb77-B7Z5) mailto:sage [2017/02/19(日) 10:54:41.14 ID:gToSbtQT0.net]
>>673
player.Play();の次の行にEnvironment.Exit(0);でどうですか

687 名前:デフォルトの名無しさん (ワッチョイ 6f20-eq+O) [2017/02/19(日) 11:06:34.51 ID:7g+LYPG/0.net]
>>674
試してみましたが、音声再生前にプログラムが終了しました

javascriptなら、コールバックとか取れそうですが
C#はいまひとつ解らず

688 名前:デフォルトの名無しさん (ワッチョイ 6bdc-fFgi) mailto:sage [2017/02/19(日) 11:11:22.59 ID:7Avz8j0c0.net]
最後にTask.Waitしろ

689 名前:デフォルトの名無しさん (ワッチョイ eb77-B7Z5) mailto:sage [2017/02/19(日) 11:28:40.83 ID:gToSbtQT0.net]
>>675
>>674やった上で、player.Play()をplayer.PlaySync()に書き換えて

690 名前:デフォルトの名無しさん (ワッチョイ 6f20-eq+O) [2017/02/19(日) 11:35:24.12 ID:7g+LYPG/0.net]
player.Play();
task.Wait();

と書いてみたのですが
音声が再生される前に
プログラムが終了します

URIにPOSTする処理は
リクエストしたら状態が取れないのかなという
気がしています

691 名前:デフォルトの名無しさん (ワッチョイ 6f20-eq+O) [2017/02/19(日) 11:38:27.06 ID:7g+LYPG/0.net]
>>677

player.PlaySync();
Environment.Exit(0);

としましたが、音声再生の前に
プログラムが終了しました

692 名前:デフォルトの名無しさん (ワッチョイ eb77-B7Z5) mailto:sage [2017/02/19(日) 11:40:39.60 ID:gToSbtQT0.net]
>>679
元のConsole.ReadLine();消してちゃってない?
これも必要だよ。



693 名前:デフォルトの名無しさん (ワッチョイ 6f20-eq+O) [2017/02/19(日) 11:48:07.03 ID:7g+LYPG/0.net]
>>680
音声再生の後にプログラムが終了しました
期待通りの動作です

ありがとうございます

694 名前:デフォルトの名無しさん (ワッチョイ 0f7b-eq+O) mailto:sage [2017/02/19(日) 17:21:32.80 ID:bXEy6Thf0.net]
>>668
まだ勉強し始めた素人なのでポーリングというやり方があるんですね。
試してみます、ありがとうございました。

>>669
再生が最後まで行く、もしくはソフトを閉じる時に消去すれば
キャッシュという形になるから違法ではないと思いますし、
たしかあの法律は違法にアップロードされたコンテンツ(ゲームや音楽)を
知りつつダウンロードする行為が違法なんですよね?
YouTubeやTwitch、ニコ生などのライブ配信や動画を専ブラのような形で
なおかつ自分で使いやすいように作るのは違法でないという認識なのですが間違っていますでしょうか?

695 名前:デフォルトの名無しさん (ワッチョイ 5b19-S9Lo) mailto:sage [2017/02/19(日) 17:23:40.86 ID:djgzWXGW0.net]
保存しなきゃセーフでしょ
ブラウザを作るのに認可がいるわけじゃないし

696 名前:610 (ワッチョイ 6b90-XdR7) mailto:sage [2017/02/20(月) 01:42:50.37 ID:Vf7595PK0.net]
>>655
foreachで書く方法がわかりません、どんなふうに書くのでしょうか?



あと条件にあったインデックスを全て返す拡張メソッドを作りたいのですが、うまくいきません

int{} num = { 11, 12, 13, 14, 15 }
これで条件を「x > 12」にした場合「2、3、4」と返ってきてほしいのですがチャレンジしてもできません

return source.Select((value, index) => {if(predicate(value) return index; return 0; })
こういうふうにを書くと「x > 12」の場合「0,0,2,3,4」と返ってきてしまいます
どうかけばいいかヒント教えてください

697 名前:デフォルトの名無しさん (ワッチョイ eb77-B7Z5) mailto:sage [2017/02/20(月) 02:30:59.52 ID:M2SnzGbV0.net]
>>684
値が要らない項目は、Select()する前にWhere()で弾いとかないと。

698 名前:610 (ワッチョイ 6b90-XdR7) mailto:sage [2017/02/20(月) 03:25:39.28 ID:Vf7595PK0.net]
public static IEnumerable<int> IndexCollection(IEnumerable<Type> source, Func<Type, bool> predicate)
{
return source.Where(_ => predicate(_)).Select((value, index) => index);
}

こういうことですか?でもなぜかこう書くと評価されなくて返り値がnullのままになります

var list = num.Where(_ => _ > 12).Select((value, index) => index);

こう書くときちんと評価されるのですが・・・さっぱりわかりません

699 名前:デフォルトの名無しさん (ワッチョイ 8b7b-eq+O) mailto:sage [2017/02/20(月) 03:28:01.67 ID:Cim83SJm0.net]
>>684
別に難しくなくて、素直に書けばいいと思うけど

public static int FirstIndex<T>(this IEnumerable<T> source, Func<T, bool> predicate)
{
  int index = 0;
  foreach (var val in source)
  {
    if (predicate(val)) return index;
    index++;
  }
  return -1;
}

条件にあったのも全て返すなら yield return を使う

public static IEnumerable<int> WhereIndex<T>(this IEnumerable<T> source, Func<T, bool> predicate)
{
  int index = 0;
  foreach (var val in source)
  {
    if (predicate(val)) yield return index;
    index++;
  }
}

700 名前:デフォルトの名無しさん (ワッチョイ 8b7b-eq+O) mailto:sage [2017/02/20(月) 03:33:55.65 ID:Cim83SJm0.net]
無理矢理Linqで書くならこんな感じだろうか
public static IEnumerable<int> WhereIndex<T>(this IEnumerable<T> source, Func<T, bool> predicate)
{
  return source.Select((value, index) => new { Index = index, Value = value })
     .Where(x => predicate(x.Value)).Select(x => x.Index);
}

値が0以上限定ならこんな風にも書ける
public static IEnumerable<int> WhereIndex<T>(this IEnumerable<T> source, Func<T, bool> predicate)
{
  return source.Select((value, index) => predicate(value) ? index : -1)
      .Where(x => x >= 0);
}

701 名前:デフォルトの名無しさん (ワッチョイ 8b7b-eq+O) mailto:sage [2017/02/20(月) 04:12:20.09 ID:Cim83SJm0.net]
>>686
IndexCollectionの後に<Type>が抜けてるね。あと引数のthisも抜けてる
Linqに慣れてないなら、最初から繋げていかないで一個ずつ結果を見た方がいいよ

var a = num.Where(_ => _ > 12);
var b = a.Select((value, index) => index);

ここではaが {13, 14, 15 } ってリストになる(Whereは条件式でフィルタした新しい配列を作る)
bはその配列をインデックスの値に変換した新しいリストを返すから値は { 0, 1, 2 } となる

あと勘違いしてたけどインデックスは当然0以上なので>>688の後者の書き方で問題なかった

702 名前:デフォルトの名無しさん (ワッチョイ 8bbb-eq+O) [2017/02/20(月) 07:23:54.57 ID:73+nzjfL0.net]
>>683
日本では回避ツール作るのも違法。



703 名前:610 (ワッチョイ 6b90-XdR7) mailto:sage [2017/02/20(月) 10:04:48.66 ID:Vf7595PK0.net]
>>687
yield returnというのを忘れていました

引数のthisを忘れていたのに拡張メソッドみたいに呼べたのが不思議です。エラー出ると思ってました

704 名前:デフォルトの名無しさん (ワントンキン MM7f-Z7AI) mailto:sage [2017/02/20(月) 11:08:17.98 ID:M0lXkX5gM.net]
文字列ポインタを返すC言語のwin32 dll を VS2005のWindowsアプリで利用しているのですが、今までWindowsXPで動作していたものをWindows7で動作させると関数から戻ってくる時に死んでしまいます。情報を送信する旨のダイアログの出るヤツです。

<hoge.dll>
BYTE msg[1024];
BYTE* WINAPI hoge(WORD w)
{
sprintf(msg, "xxx");
return msg;
}
<FormMain.vb>
<DllImport("hoge.dll")>Public Shared Sub hoge(Byval w As Int16) As String
End Function

Dim msg As String = Space(1024)

Call部分-> msg = hoge(0)

dllで領域確保した文字列ポインタをvbで領域確保したString型に代入している部分がおかしいのでしょうか?
同じやり方の別アプリはWindows7でも問題なく動作しているらしいです。
回避策としては、StringBuilderを引数にして情報を取得する方法を考えてますが、原因を知りたいです。
何かヒントを頂けないでしょうか。よろしくお願いします。

705 名前:デフォルトの名無しさん (アウアウウー Sa1f-Tc/C) mailto:sage [2017/02/20(月) 12:12:58.76 ID:OgBdAYpra.net]
>>692
ここC#のスレだよw
インポートした関数のシグネチャはそれで間違ってないと思う
(戻り値の文字列の種類の明示的な指定がない以外は)

だから間違いはそこに書かれていないところにある気がする
知らんけど

706 名前:デフォルトの名無しさん (ワントンキン MM7f-Z7AI) mailto:sage [2017/02/20(月) 13:06:34.63 ID:M0lXkX5gM.net]
>>692
失礼しました。自分が普段C#使ってていつも見ているもので、思わず質問してしまいました。

Stringって純粋な参照型じゃないので、dll内の文字列がアプリ側の確保されたStringにコピーされるものなのか、どうなのか?
と思って質問しました。

問題ないようですので、他の部分を当たってみます。

ありがとうございました。

707 名前:デフォルトの名無しさん (スフッ Sd7f-LjcY) mailto:sage [2017/02/20(月) 13:28:11.49 ID:vCAMt98Xd.net]
ビット数とかかねえ

708 名前:デフォルトの名無しさん (ワッチョイ eb19-sbgu) mailto:sage [2017/02/20(月) 14:07:41.64 ID:w4qWsIgy0.net]
DllImportで返値にStringを使うと対象アドレスのメモリを解放しようとするからその辺のせいかな
ポインタが返される場合IntPtrで受け取るべき
文字列ならMarshal.PtrToStringAuto(/Ansi/Uni)で変換

709 名前:デフォルトの名無しさん (アウアウウー Sa1f-Tc/C) mailto:sage [2017/02/20(月) 14:54:15.70 ID:OgBdAYpra.net]
あーここにそんなこと書いてあるな
https://msdn.microsoft.com/ja-jp/library/x3t

710 名前:xb6xc.aspx
全然知らんかったw
文字列を戻り値で返すような関数使ったことないし。
こういう重要な話を辺鄙なページにだけさらっと書くのやめてほしいよな

余計なお世話のようだけど、よく考えたらポインタでもらっておかないと
手動で開放しようがないんだからまあ当然といえば当然の処置か
[]
[ここ壊れてます]

711 名前:デフォルトの名無しさん (アウアウオー Sa7f-xIS6) mailto:sage [2017/02/20(月) 15:20:01.73 ID:2ibs+hQta.net]
>>692そのままでもvb側でLPCSTRだって指定してやれば動きそう。LPWSTRとして処理して動かなくなってるんじゃないかな

712 名前:デフォルトの名無しさん (ワッチョイ 8bbb-eq+O) mailto:sage [2017/02/20(月) 15:52:07.71 ID:73+nzjfL0.net]
vb使うとアホになるからな。



713 名前:デフォルトの名無しさん (ワントンキン MM7f-Z7AI) mailto:sage [2017/02/20(月) 15:55:20.33 ID:M0lXkX5gM.net]
>>696
>>697
有益な情報、ありがとうございました。

少なくとも、あまりよろしくないコードだったって事ですよね。
今までまともに動作してたのはたまたま?

とりあえずIntPtrで受けてMarshal.PtrToStringAnsiで文字列に変換するとうまくいきました。

714 名前:デフォルトの名無しさん (ワキゲー MM7f-iYFJ) mailto:sage [2017/02/20(月) 19:15:05.48 ID:jZ2IzQ6sM.net]
>>698
DllImport.CharSetの既定値はAnsi

715 名前:デフォルトの名無しさん (ワッチョイ 9b7b-g7u9) [2017/02/20(月) 20:06:09.92 ID:i/9URA2G0.net]
WPFの勉強を始めたんですが、動的にコントロールを追加していく場合、
デザイン側(XAML)のコードではなくC#のコードに生成と追加ロジックを書いて増やすしかないんですよね?

コントロールのデザインはXAMLでするけど、それのインスタンス生成はC#側でするという理解でいいのでしょうか?

716 名前:デフォルトの名無しさん (ワッチョイ 5f30-O7jY) mailto:sage [2017/02/20(月) 20:56:23.77 ID:DEynAIXr0.net]
どういうコントロールかに寄るんじゃねーの
ItemsControlが使えるようなケースならコードで生成なんかしないだろう

717 名前:デフォルトの名無しさん (ワッチョイ 8b7b-iYFJ) mailto:sage [2017/02/20(月) 20:59:03.92 ID:ZcW/L6QM0.net]
大体ItemsControlとその派生クラス+DataTemplateでまかなえる

718 名前:デフォルトの名無しさん (ワッチョイ df4c-6bgE) mailto:sage [2017/02/20(月) 21:18:59.61 ID:c6eY6nM80.net]
>>702
アイテム類?

719 名前:デフォルトの名無しさん (ブーイモ MM7f-FKuk) mailto:sage [2017/02/20(月) 21:19:02.98 ID:La0YxfKFM.net]
>>702
C#からコントロールを追加するんじゃなくて、
1. C#がコレクションに対してデータオブジェクト(コントロールではない!)を追加する
2. コレクションのバインド先のコントロールのDataTemplateに従ってコントロールが生成される
という仕組み
まあでも最近はUWPではそのへんのWPF時代の複雑怪奇な仕組みを使わずに
イージーにC#からコントロールを触っちゃうケースも多くなっているので、
普通にコードビハインドでコントロール作ってもいいと思うよ

720 名前:デフォルトの名無しさん (ワッチョイ 6bdc-FKuk) mailto:sage [2017/02/20(月) 21:35:53.40 ID:K6NHiZ6b0.net]
Reactみたいに仮想DOMを導入してテンプレートエンジン感覚でXAML書けるようにしてほしいわ
ControlTemplateを駆使した複雑怪奇なバインディングはWPFが失敗した大きな要因の一つ

721 名前:610 (ワッチョイ 6b90-XdR7) mailto:sage [2017/02/20(月) 22:42:28.62 ID:Vf7595PK0.net]
数独を解くアルゴリズムがどうしても自分で作れなかったのでCのソースをLINQ使わずにC#に書き直しました
でももうちょっとアルゴリズムについて理解を深めたいのですが、どうすれば深められますか?

722 名前:デフォルトの名無しさん (ワントンキン MM7f-yXFx) mailto:sage [2017/02/20(月) 22:44:42.03 ID:SIhte37HM.net]
数学を勉強する



723 名前:デフォルトの名無しさん (ワッチョイ 0f7b-TuOZ) mailto:sage [2017/02/20(月) 23:41:44.10 ID:mClGTBrk0.net]
アルゴリズムの本を読むとか、

プログラミング・コンテスト
AOJ(AIZU ONLINE JUDGE、会津大学)
Topcoder, Google Code Jam

724 名前:デフォルトの名無しさん (ブーイモ MM7f-FKuk) mailto:sage [2017/02/21(火) 01:16:12.37 ID:zJ/N/+AdM.net]
>>708
アルゴリズムで大事なのは細かい操作ではなくルール
ルールで考えられるようになるには関数型言語を学ぶのが一番近道だと思う

725 名前:デフォルトの名無しさん (ワッチョイ 5b3c-8pXy) mailto:sage [2017/02/21(火) 02:14:21.50 ID:R0f1kRGV0.net]
専ブラを作りたいんですが
何を参考にやっていけば良いでしょうか

c#の入門文法書を読んでVS2015でフォームアプリのプロジェクト作成しました

726 名前:デフォルトの名無しさん (スプッッ Sd7f-QCKt) mailto:sage [2017/02/21(火) 07:35:28.82 ID:N8MlGejAd.net]
OpenJaneのソースを読む

727 名前:デフォルトの名無しさん (ブーイモ MM7f-9g8o) [2017/02/21(火) 08:20:20.91 ID:QZgbo1BXM.net]
APIになってから新規参入できんの?

728 名前:デフォルトの名無しさん (ブーイモ MM1f-S2Ow) mailto:sage [2017/02/21(火) 10:29:01.70 ID:zahF8gYKM.net]
普通のブラウザが読めるんだから
なにもAPI頼らんでもいいんじゃないか?
ブラウザの表記と履歴がクソなだけだから
それを使い勝手いいようにしただけの専ブラはあってもいい

729 名前:デフォルトの名無しさん (ワッチョイ 9b7b-g7u9) [2017/02/21(火) 19:34:36.64 ID:cHX/MaIe0.net]
TextBoxだけが2つあるフォームで、Enterが押された際に、2つとも値が入力されている場合だけフォームを閉じるようにしたいのですが、
TextBoxにAcceptButtonと同じ機能を持たせるにはどうしたらいいでしょうか。

730 名前:デフォルトの名無しさん (ワッチョイ db17-QCKt) mailto:sage [2017/02/21(火) 20:40:59.99 ID:iji2PQkS0.net]
KeyDownでEnterを取得してTextBoxの中身をチェックして分岐

731 名前:デフォルトの名無しさん (ワッチョイ 0f5e-P9CU) mailto:sage [2017/02/21(火) 20:48:25.46 ID:R7uSuoR20.net]
>>716
TextBox2つとFormでEnter入力待って
Enter入力されたときにTextBoxの内容チェックしたらいいだけじゃない?
AcceptButtonは知らなかったけど別にボタン作って無いとだめみたいだし
ボタン別に作った方がUIとしてはわかりやすいと思うけど

732 名前:デフォルトの名無しさん (アウアウウー Sa1f-Tc/C) mailto:sage [2017/02/21(火) 21:36:29.50 ID:OY4bcTcha.net]
>>716
いっちゃなんだけどセンスないUIだねw



733 名前:デフォルトの名無しさん (ワッチョイ 0f9d-eq+O) mailto:sage [2017/02/21(火) 21:41:21.06 ID:Kul562Pw0.net]
>>715
APIに頼らずにウェブスクレイピングを使った専ブラの開発/公開は
禁止されているんじゃなかった?

734 名前:デフォルトの名無しさん (アウアウウー Sa1f-Tc/C) mailto:sage [2017/02/21(火) 21:41:57.12 ID:OY4bcTcha.net]
まあ批判するだけじゃアレなんで、そういうの普通はさ、
検証結果がOKならAcceptButtonをイネーブルにするのが正攻法だと思うよ

735 名前:デフォルトの名無しさん (アウアウオー Sa7f-xIS6) mailto:sage [2017/02/21(火) 21:48:44.09 ID:rWOcc73ca.net]
センスないUIが使いやすいシーンあるからな。分かっててそうすること多い。>>717は違うだろうがw
エンターがあったら入力されてるか調べて、入力されてたらフラグ立ててClose()呼べば

736 名前:デフォルトの名無しさん (ワッチョイ 4fce-qUVP) mailto:sage [2017/02/22(水) 04:06:31.98 ID:BUDCRKLi0.net]
結局最後にEnter押させるならAcceptButtonで正しいか判定すればいいんじゃないの
KeyDownで捕捉とかAcceptButtonイネーブルとかアホみたいよ

737 名前:デフォルトの名無しさん (ワッチョイ 5f90-XdR7) mailto:sage [2017/02/22(水) 04:41:08.56 ID:OP1dthjc0.net]
まずtextbox2つに何か入力されている状態でEnter押すと閉じるってどういう状況で使うのか気になる

738 名前:デフォルトの名無しさん (ワッチョイ 0f7b-eq+O) mailto:sage [2017/02/22(水) 05:19:23.28 ID:4Le3p92K0.net]
C#でDirectShowを使ってサーバーからデータを受信してストリーミング再生をしようと思っているのですが、
ストリーミングしながら再生する場合、10秒、20秒先にシークする時にデータを取得できていないと
シークできないと思うのですが、シークしたい位置までデータが取得できているかどうかを、どうやって確認したらいいのでしょうか?

739 名前:デフォルトの名無しさん (ワッチョイ db17-QCKt) mailto:sage [2017/02/22(水) 06:36:28.96 ID:S8XiJiJW0.net]
できなくていいじゃん
YouTubeでも未取得部分までシークしたら一瞬止まってそこから再取得でしょ

740 名前:デフォルトの名無しさん (アウアウウー Sa1f-Tc/C) mailto:sage [2017/02/22(水) 10:41:54.09 ID:IUleyyqVa.net]
>>723
それだとNGの時何らかのメッセージを、ほとんどの場合はモーダルの
メッセージボックスを使って表示することになるが、これが鬱陶しい。

だからOK

741 名前:フ場合のみ何らかのアクションが可能になるようにしたい、というところまでは
>>716は妥当。
[]
[ここ壊れてます]

742 名前:デフォルトの名無しさん (アウアウオー Sa7f-xIS6) mailto:sage [2017/02/22(水) 10:48:43.23 ID:gHr01PmWa.net]
条件満たすまでokボタン無効化



743 名前:デフォルトの名無しさん (スフッ Sd7f-LjcY) mailto:sage [2017/02/22(水) 11:33:04.49 ID:+pPmbeWDd.net]
ついでにtextbox赤色にでもしとけ

744 名前:デフォルトの名無しさん (ワッチョイ 6f37-eq+O) mailto:sage [2017/02/22(水) 13:11:12.83 ID:NE6Tq68d0.net]
>>771
たしか「twinテール」とかいう使えなくなった2chブラウザがC#で書かれていたので参考にしてみてはいかが

745 名前:デフォルトの名無しさん (ワッチョイ 1e7b-8lb6) mailto:sage [2017/02/23(木) 01:11:41.53 ID:IxVO5ZJu0.net]
>>726
言葉足らずでしたすいません。
シークした際に取得したデータより先であれば、シークできる最大の位置から再生したいので、
取得できているデータの最大秒数を知りたいと質問したかったんです。

746 名前:デフォルトの名無しさん (ワッチョイ 1e9d-d4M5) [2017/02/23(木) 20:19:27.12 ID:cRI54QPm0.net]
C#ってWEBもデスクトップアプリもVisual Studioでいいの?

747 名前:デフォルトの名無しさん (ワッチョイ 4a3c-F6/z) mailto:sage [2017/02/23(木) 20:42:44.96 ID:boStFqTs0.net]
いいよ
別にVisual Studioじゃなくてもいいよ

748 名前:デフォルトの名無しさん (ワッチョイ 7fbb-8lb6) mailto:sage [2017/02/23(木) 21:03:52.53 ID:SDiG8DJL0.net]
C#のような欠陥言語はVSじゃないと使い物にならないよ。

749 名前:デフォルトの名無しさん (ブーイモ MMef-o4aT) mailto:sage [2017/02/23(木) 21:38:51.04 ID:5vR45Ym7M.net]
そもそもRADで使うことを前提に設計された言語だから当たり前
ヘイトになってない

750 名前:デフォルトの名無しさん (スフッ Sdaa-i5z9) mailto:sage [2017/02/23(木) 22:14:55.27 ID:IXRr1zZLd.net]
まだイーマックスに固執してる奴いるのか

751 名前:デフォルトの名無しさん (ワンミングク MMfa-LqKA) mailto:sage [2017/02/23(木) 22:19:16.99 ID:osMc+8cAM.net]
Javaは環境整えるのめんどくさいしエコシステムが洗練されない素人仕事って感じだし言語機能貧弱だし色々クソすぎて速攻で切り捨てた
C#は良く出来てる

752 名前:デフォルトの名無しさん (ワッチョイ 7fbb-8lb6) mailto:sage [2017/02/23(木) 22:21:06.99 ID:SDiG8DJL0.net]
var data = b.GetData();

varで一気に欠陥言語となった。
ライブラリ丸暗記してるか、マウスカーソルで指さないと型が分からないとかマジ欠陥言語。



753 名前:デフォルトの名無しさん (ワッチョイ 533c-uVIS) mailto:sage [2017/02/23(木) 22:21:19.22 ID:VhvYxHZG0.net]
何を使おうが、成果物と生産性が全てよ

そりゃ、言語によってある程度機能の優劣が無いとは言わないが
究極的には、「使う奴がその言語に習熟してるかどうか」に帰結する話なので
他言語との比較戦争はやめとけ

754 名前:デフォルトの名無しさん (ワッチョイ cfd6-8lb6) mailto:sage [2017/02/23(木) 22:25:13.45 ID:/zzReBsa0.net]
>>738
おじいちゃんはおうちにかえりましょうねー

755 名前:デフォルトの名無しさん (ワッチョイ 7fbb-8lb6) mailto:sage [2017/02/23(木) 22:30:40.75 ID:SDiG8DJL0.net]
>>740
無職はいいなぁ。

756 名前:デフォルトの名無しさん (ワッチョイ 2777-h8GH) mailto:sage [2017/02/23(木) 22:32:06.38 ID:Gcuw8dft0.net]
>>738
C++にすら、autoって型推論が追加になったわけだが。

757 名前:デフォルトの名無しさん (ワッチョイ bb99-bdSd) mailto:sage [2017/02/23(木) 22:34:18.39 ID:OjaB8M7n0.net]
え?型推論のない言語があるの?

758 名前:デフォルトの名無しさん (ワンミングク MMfa-LqKA) mailto:sage [2017/02/23(木) 22:34:28.26 ID:osMc+8cAM.net]
varがダメな人って変数のスコープがやたら長かったりクラスの責務が複数あったりメソッド名がわかりにくい印象がある

759 名前:デフォルトの名無しさん (ワッチョイ 7fbb-8lb6) mailto:sage [2017/02/23(木) 22:40:33.39 ID:SDiG8DJL0.net]
はるか昔、C++も糞化、オナニー言語になって捨てられて、シンプル化したJavaやC#に多くが逃げてきた。
すると、言語オタク馬鹿がJavaとC#でオナニーを始めたというだけ。
C#は幸運にも普及する前に糞化してくれたので被害者は少ないが、Javaは相当被害者が出るだろう。

まぁ、未だ.net2.0 + winform案件の多さからしてほんとトンデモ擁護してる輩は無職だろうな。

760 名前:デフォルトの名無しさん (ワッチョイ 8a23-d4M5) mailto:sage [2017/02/23(木) 22:41:51.99 ID:LD/mBXzl0.net]
varに噛み付く割にはdynamicをスルーなんだよな
結局知らない人だって自白しているようなものです

761 名前:デフォルトの名無しさん (ワッチョイ 4613-i5z9) mailto:sage [2017/02/23(木) 23:11:03.64 ID:STaIjfZE0.net]
自分の理解できない仕様を含む言語は全部糞なんだな

762 名前:デフォルトの名無しさん (ワッチョイ 4a3c-F6/z) mailto:sage [2017/02/23(木) 23:13:19.44 ID:boStFqTs0.net]
>>738
斬新な意見やな



763 名前:デフォルトの名無しさん (ワッチョイ 8790-weqm) mailto:sage [2017/02/23(木) 23:13:57.36 ID:fEmyL96O0.net]
C#のすごいところはvarの使用を禁止できることなんだよね

764 名前:デフォルトの名無しさん (ワッチョイ 4a3c-F6/z) mailto:sage [2017/02/23(木) 23:14:34.97 ID:boStFqTs0.net]
>>738
>マウスカーソルで指さないと
あとキーボード使うといいと思うよ

765 名前:デフォルトの名無しさん (スフッ Sdaa-Hx5d) mailto:sage [2017/02/23(木) 23:19:03.31 ID:fCBY3OKed.net]
逆だよなぁ。
その型が変わったとしても帳尻合わせるために直接関係のない部分を直さんで済む。
型推論を横着するための機能と考えるから変な話になってくる。

766 名前:デフォルトの名無しさん (ワッチョイ 0a4a-d4M5) mailto:sage [2017/02/23(木) 23:57:02.37 ID:Xdm75SB30.net]
マウスカーソル当てないと推論できない頭なんだろ
察して差し上げろ

767 名前:デフォルトの名無しさん (ワッチョイ 0ecb-NqGB) mailto:sage [2017/02/24(金) 00:09:58.97 ID:sMce7DLg0.net]
使ってないソースのが圧倒的に読みやすいけどね

768 名前:デフォルトの名無しさん (アウアウウー Sacf-TXya) mailto:sage [2017/02/24(金) 00:24:57.75 ID:Oi+tTZOha.net]
varの話はもうほとんどボケ老人の繰り言だねw
論点は出尽くしてるし結論も明らか(だから採用されている)のによく飽きないなと思うわ。

769 名前:デフォルトの名無しさん (アウアウウー Sacf-TXya) mailto:sage [2017/02/24(金) 00:26:20.78 ID:Oi+tTZOha.net]
あれだ、もうネトウヨが8月になると朝生とか見て毎年毎年同じこと言ってるのとよく似てるわw

770 名前:デフォルトの名無しさん (ワッチョイ 4613-i5z9) mailto:sage [2017/02/24(金) 00:34:06.16 ID:KvudGu/Z0.net]
Action<・・・>とかTask<・・・>とか型推論なしでいちいち書いとれんわ

771 名前:デフォルトの名無しさん (ワッチョイ 533c-LVYP) mailto:sage [2017/02/24(金) 03:35:06.91 ID:DZX2b5jN0.net]
>>756
IEnumarableもだよね

772 名前:デフォルトの名無しさん (ワッチョイ ca30-bdSd) mailto:sage [2017/02/24(金) 05:44:47.60 ID:7M0bhqrr0.net]
ド低脳と仕事をしているために未だにC#2.0相当のコーディングを強いられているというのが真相である
無職はいいなあという発言がそれを物語っている

ド低脳と仕事せざるを得ない状況にあるのは自分がド低脳なせいだとは知る由もない
なぜならド低脳だから



773 名前:デフォルトの名無しさん (ワンミングク MMfa-LqKA) mailto:sage [2017/02/24(金) 07:33:10.08 ID:MgbB+KPvM.net]
ジャップランドだとレベルの低い同僚に合わせないといけないからね

774 名前:デフォルトの名無しさん (ワッチョイ bb3c-xMKC) mailto:sage [2017/02/24(金) 08:17:18.01 ID:YSZ/aLRo0.net]
これが自分が高レベルだと勘違いしてる人にありがちな考え方ですよ〜
初心者の皆さんはよ〜く覚えておきましょうね〜

775 名前:デフォルトの名無しさん (ワントンキン MMfa-HyQo) mailto:sage [2017/02/24(金) 11:34:57.57 ID:rumrh9icM.net]
別PC上でソケット通信のサーバのソフトが動作しています。
そのソフトにクライアントとして接続するアプリです。

今までサーバソフトが動作するPCがXPの時は問題なく接続できていたのですが、
windows7に変えたところ「対象のコンピュータに拒否されたため、接続できませんでした」となります。

using System.Net.Sockets;

TcpClient myClient = new TcpClient();

myClient.Connect(IPaddress, port);

何か他に設定等必要なのでしょうか?

776 名前:デフォルトの名無しさん (ワッチョイ a3c0-d4M5) mailto:sage [2017/02/24(金) 11:39:55.37 ID:WmxnDnjh0.net]
>>761
Windows7のファイアーウォール設定で接続ポートが塞がれているんじゃね

777 名前:デフォルトの名無しさん (ワントンキン MMfa-HyQo) mailto:sage [2017/02/24(金) 11:53:52.45 ID:rumrh9icM.net]
>>762

情報不足ですみません。
ファイアーウォールは全て無効にしています。
今、念のため全てのポートを開放してみましたが状況変わらずです。

Windows7のPCは、セットアップした素の状態にネットワーク設定して、ファイアーウォール無効にしただけの状態です。
少なくとも2台のWindows7でこの現象を確認しています。

778 名前:デフォルトの名無しさん (ワッチョイ 2719-YZdX) mailto:sage [2017/02/24(金) 12:47:58.59 ID:og9jdWQJ0.net]
pingが通るか確認する
アドレスとポート番号を確認する

779 名前:デフォルトの名無しさん (ワッチョイ 8a3c-9513) mailto:sage [2017/02/24(金) 12:53:29.50 ID:YZGHPd2K0.net]
>>761
> windows7に変えたところ「対象のコンピュータに拒否されたため、接続できませんでした」となります。
サーバープロセスが動いてない
サーバー側で netstat -a やってみ

>>762
ポート塞がれてたらたいてい接続タイムアウトになる

780 名前:デフォルトの名無しさん (ワントンキン MMfa-HyQo) mailto:sage [2017/02/24(金) 13:40:28.43 ID:rumrh9icM.net]
サーバのソフトを確認してもらいました。

従来、
IPHostEntry hst;
hst = Dns.GetHostEntry(Dns.GetHostName());
TcpListener server = new TcpListener(hst.AddressList[0], port番号);

としてたところ、
IPAddress.Any にすると接続できるようになりました。

OSによって挙動が変わる理由は何故でしょうか?

781 名前:デフォルトの名無しさん (ワッチョイ 2719-YZdX) mailto:sage [2017/02/24(金) 13:55:20.36 ID:og9jdWQJ0.net]
IPv6のアドレスが[0]に入ってたとかそんなんじゃね

782 名前:デフォルトの名無しさん (ワントンキン MMfa-HyQo) mailto:sage [2017/02/24(金) 14:11:36.34 ID:rumrh9icM.net]
>>767

確認してもらったところ、おっしゃるとおりIPv6が入ってました。

どーもお騒がせしました。



783 名前:デフォルトの名無しさん (ワッチョイ 8790-weqm) mailto:sage [2017/02/25(土) 03:11:03.30 ID:bkNRV9RG0.net]
HttpWebRequestクラスを継承して派生クラスを作るのはひょっとして不可能ですか?
引数なしの親コンストラクタないって言われてしまうのですが・・・

784 名前:デフォルトの名無しさん (ワッチョイ 4a3c-F6/z) mailto:sage [2017/02/25(土) 03:29:06.72 ID:IvVV1H8V0.net]
そうみたい
Extension使えば
stackoverflow.com/questions/400565/is-there-any-way-to-inherit-a-class-without-constructors-in-net






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

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

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