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


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

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



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

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

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

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

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

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

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

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

■情報源
https://msdn.microsoft.com/en-us/library/gg145045.aspx
referencesource.microsoft.com/

855 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 00:24:35.50 ID:uyw/q1V9.net]
>>840
何をしたくてこれが分からない
これをまとめてみようか

856 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 00:25:46.46 ID:ukjq/gdc.net]
>>839
え?なんのフォームか言ってくれないと分からない…
フォームってカタカナだったからブラウザの枠の事かと思ったんですけど
だから主語だって言ったのに…

857 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 00:26:25.03 ID:ukjq/gdc.net]
>>841
いやだから主語がないからなんのフォームなのかが分からないんですよ

858 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 00:28:57.63 ID:crIAC8Sk.net]
>>843
2ちゃんねるには何を使って書き込んでるの?スマホ?パソコン?アプリ?

859 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 00:29:19.00 ID:0mFWMzps.net]
>>843
「主語」の定義が何か考えろ
プログラミングやる前に小学校の国語からやり直せ

860 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 00:30:18.84 ID:uyw/q1V9.net]
2chのform部分のhtmlソース見てみようぜ
簡単にするとこうなる

<form method="POST" accept-charset="Shift_JIS" action="echo.2ch.net/test/bbs.cgi">
 <input type="submit" value="書き込む" name="submit">
 名前:<input name="FROM">
 E-mail:<input name="mail">
 <textarea name="MESSAGE"></textarea>
 <input type="hidden" name="bbs" value="tech">
 <input type="hidden" name="key" value="1468078489">
 <input type="hidden" name="time" value="1469805944">
</form>

861 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 00:31:36.37 ID:ukjq/gdc.net]
>>845
主語がないではなくて主語が明確ではないという表現が正しいな

862 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 00:31:48.97 ID:crIAC8Sk.net]
>>845

ひとまず、「フォームを、フォームが」の前に、「ウェブサイト」が何かの認識が足りない気がするのね。

863 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 00:33:24.43 ID:0mFWMzps.net]
>>847
だからお前の言う「主語」の定義が間違ってるから勉強し直せ



864 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 00:34:47.38 ID:uyw/q1V9.net]
1行目から解説していくよ

POSTメソッド、文字コードはSJISでecho.2ch.net/test/bbs.cgiに以下のデータを送ります
このボタンが押されたら書き込みます
名前のテキストボックス
メールのメキストボックス
本文のテキストボックス
tech板に書き込みます
1468078489スレに書き込みます
時間は1469805944です(1でもOK)

name=valueをエンコードしてデータを送信する

865 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 00:35:56.93 ID:uyw/q1V9.net]
APS.NETの前にHTMLの弁ようして来い

866 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 00:36:39.81 ID:ukjq/gdc.net]
>>846
<input type="submit" value="書き込む" name="submit">
submitがだぶってる気がするんですけどこれはどういうことですか?
おそらくこれボタンの事でしょうけど…


action="echo.2ch.net/test/bbs.cgi";
ここはURLではなくてactionでいいんでしょうか?

分からない事だらけでなかなかPOSTのC#による実現は難しいな

867 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 00:38:36.01 ID:uyw/q1V9.net]
>>852
C#関係ないから
いいからHTMLの勉強しろ
C#はそのあとだ!

868 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 00:39:18.98 ID:6YLFMraq.net]
>>852
スレチ
Web制作板にでも行ってこい

869 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 00:40:06.40 ID:ukjq/gdc.net]
>>853
関係あるだろうが
htmlの動作をc#を対応させてんだよ

870 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 00:40:40.51 ID:uyw/q1V9.net]
>>852
typeって言うのは種類
テキストボックスとかコンボボックスとか送信ボタンとか
で、type=submitは送信ボタンですよって意味
nameはデータの名前
name=valueで鯖にデータが送信されるから今回は
submit=書き込み
と鯖に送信される

871 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 00:42:19.44 ID:6YLFMraq.net]
>>855
主語(笑)といい、てにをはといい…

872 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 00:43:36.39 ID:uyw/q1V9.net]
>>855
何偉そうに言ってんだよ無知
わざわざ解説してやってんのに
いいから黙ってHTMLスレに行ってこい
今はC#は関係ない

今のお前は包丁使えないのに料理店開きたいって言ってるようなもんだぞ

873 名前:デフォルトの名無しさん [2016/07/30(土) 00:45:30.99 ID:ukjq/gdc.net]
>>850
文字コートってのもよくわからないんだけどこっちはS-JISのつもりで送ったってことは
S-JISのコードを送るってことですよね?なら文字コードだけ渡されてもS-JISかどうかは判別できないんじゃないでしょうか?



874 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 00:46:22.28 ID:6YLFMraq.net]
>>859
スレチ

875 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 00:49:54.74 ID:WsjdSta8.net]
>>859
文字コートってのはhtmlに埋め込まれたS-JISとかの領域のことだから送られてきたらそこに文字を書き込めるようになってるんだよね
だから判別しなくても大丈夫になってる

876 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 00:50:20.58 ID:crIAC8Sk.net]
そもそもASP.NETだっしょ。ASPでC#ならまーね。

>>820
これに主語をたそう。

私(ウェブブラウザー)がリクエスト(お願い)するのは、送るデータの種類として「ウェブのフォームで使われる情報です(urlエンコード済みです)」

req≒リクエスト(お願い)するのは
ContentType≒送るデータの種類として、
application/x-www-form-urlencoded≒ウェブのフォームで使われる情報です(urlエンコード済みです)

ここで言う「私」というのが、ウェブブラウザで表示しているページのことです。

877 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 00:51:16.35 ID:crIAC8Sk.net]
まー、言いたくなかったが、釣だろ(笑)

878 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 00:53:09.67 ID:uyw/q1V9.net]
文字コート

879 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 00:53:35.54 ID:uyw/q1V9.net]
これは釣りだわ
真面目に相手しなけりゃよかったわ

880 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 00:55:09.75 ID:6YLFMraq.net]
>>862
あいつ、主語と修飾語の区別ついてないからwww

881 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 00:56:14.77 ID:yLsVqD35.net]
>>865
お前は愛に溢れすぎ

882 名前:デフォルトの名無しさん [2016/07/30(土) 00:57:56.56 ID:ukjq/gdc.net]
>>861
S-JISで解釈できる領域への通知なんですね、分かりました

883 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 01:08:16.57 ID:ukjq/gdc.net]
>>862
なんとなく分かるよ
それをブラウザの代わりにC#にやらせるんだよね?


ContentType≒送るデータの種類として、
application/x-www-form-urlencoded≒ウェブのフォームで使われる情報です(urlエンコード済みです)

ここがちょっとわかりくいね
そもそもウェブのフォームで使われる情報をって当たり前の事では?
これらのデータを送るから処理して下さいという意味なのに、種類もくそもあるの?という疑問が湧きました
どうぞ



884 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 01:11:11.88 ID:6YLFMraq.net]
>>869
スレチ

885 名前:デフォルトの名無しさん [2016/07/30(土) 01:14:33.94 ID:ukjq/gdc.net]
>>870
スレチ厨はもういいよ
寝たら?

886 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 01:16:22.02 ID:crIAC8Sk.net]
>>869
どうぞ、釣りは失せろでございますわよ。

887 名前:デフォルトの名無しさん [2016/07/30(土) 01:20:32.96 ID:ukjq/gdc.net]
>>872
釣りじゃないんですよ

送るデータの種類=application/x-www-form-urlencodedってことは
もしかして区分があるってことですか?
例えばテキストボックスの情報はA群、ボタンを押したという通知はB群みたいなことなんでしょうか?

888 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 01:22:18.00 ID:6YLFMraq.net]
>>873
HTMLはスレチ

889 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 01:23:23.88 ID:ukjq/gdc.net]
>>874
そんな器用な分別ができてたらこんな初心者スレで聞かねーよ
もう色んな事がごっちゃになってるんだからここで聞かせろ

890 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 01:29:46.30 ID:crIAC8Sk.net]
>>873
>>875

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

891 名前:デフォルトの名無しさん [2016/07/30(土) 01:31:57.96 ID:ukjq/gdc.net]
俺の勘違いか

application/x-www-form-urlencoded≒ウェブのフォームで使われる情報です(urlエンコード済みです)

htmlにはフォーム以外の部分があって、その区分もまた別にあるんですね
俺が言ってたのはフォームの中でのさらに小さい区分でしたね、そういうことではない

ですよね?

892 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 01:37:01.32 ID:6YLFMraq.net]
>>877
Web制作
echo.2ch.net/h

893 名前:p/ []
[ここ壊れてます]



894 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 01:38:45.00 ID:ukjq/gdc.net]
>>878
粘着してまで書き込みしたい???
寝ろよ

895 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 01:40:14.97 ID:WsjdSta8.net]
>>877
htmlの中のformがurlエンコードされたものですよって教えるためのものだよ
他の部分は関係ない

896 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 01:45:56.67 ID:crIAC8Sk.net]
>>878
はC#のプログラムは作ったことが有って、今後のためにASP.NET覚えたいと思って、
サンプルのサイトを見てるけど、意味がわからないってこと?

それなら、今見ているサイトのアドレス晒して。

897 名前:デフォルトの名無しさん [2016/07/30(土) 01:49:42.31 ID:ukjq/gdc.net]
>>880
formがurlエンコード、こういう分かりにくい表現は好きじゃないな
formの情報がURLとしてエンコードされますよってことだから
URLなんて書いちゃったらホームページのURLとこんがらがるでしょ
説明のときはもっと分かりやすく!

898 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 01:52:48.60 ID:crIAC8Sk.net]
>>882
釣りマジで失せろでございますよ。
「説明のときはもっと分かりやすく! 」?
何様のつもりだテメエ失せろやボケがでございますよ。

899 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 01:53:31.20 ID:ukjq/gdc.net]
application/x-www-form-urlencodedは
こういう感じでエンコードしましたよっていいつつそれが識別子にもなってるってパターンですよ

ようは「この愛の歌をみんなに届けたい〜」とかいいつつそれ自体がラブソングの
歌詞みたいな事でしょ?秀逸なたとえ

このスレの人はね、色々知ってるんだろうけど用語をもっとさかみ砕くなり
分かりやすさ重視で教えてあげないと伝わらんと思うよ?

900 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 01:56:18.85 ID:crIAC8Sk.net]
I Banned.

901 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 01:57:06.31 ID:ukjq/gdc.net]
>>881
ASP.NETの話なんてしてないでしょ…

902 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 02:01:39.03 ID:ukjq/gdc.net]
>>883
釣りならこんな勘違いの連続をしない
最終的には理解できたんだから

903 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 02:10:12.43 ID:6YLFMraq.net]
>>887
予備知識としてHTMLの理解が必要

Web制作
echo.2ch.net/hp/



904 名前:デフォルトの名無しさん [2016/07/30(土) 02:20:35.83 ID:ukjq/gdc.net]
コピペしたら動くんだろうけど俺にとっては深い理解が大変
dobon.net/vb/dotnet/internet/webrequestpost.html

Streamっていうのがどうなってるのかがよくわからないな
//送信するデータを書き込む
reqStream.Write(postDataBytes, 0, postDataBytes.Length);
ってことでURLエンコードした文字列を送るコードだけど
さっきのreqはどこいった?reqもストリームに乗せなくて大丈夫?
でそのコードはどこだ…

905 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 02:21:35.08 ID:ukjq/gdc.net]
>>888
そんな器用に分けられないからもうここでいいだろ
そんな器用に分かるような人間なら最初から理解してるっつの
しつこいなお前は

906 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 02:22:44.26 ID:crIAC8Sk.net]
>>887
>最終的には理解できたんだから

おめでとう。

>>884
>ようは「この愛の歌をみんなに届けたい〜」とかいいつつそれ自体がラブソングの
>歌詞みたいな事でしょ?秀逸なたとえ


おめでたい。

907 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 02:23:42.69 ID:ukjq/gdc.net]
後はreqStream.Write(postDataBytes, 0, postDataBytes.Length);
だとストリームに書き込んだだけで、送ってはいないよね?
ストリームというのは通路とか情報を送るトンネルみたいなイメージだけど
そのトンネルに情報を置く=writeするだけで
もう動くの?スイッチみたいなことが必要な気がするんだけど…

908 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 02:28:52.99 ID:ukjq/gdc.net]
reqStream.Write(postDataBytes, 0, postDataBytes.Length);
reqStream.Close();

しかも次の瞬間Closeしてる…
情報がちゃんと送られてからCloseしないとダメでは?
という疑問が湧いた。

コード自体は紛れもないエラーも何もないコードだけど
動作の仕組みが分からないからコードを見て考えると疑問がいくらでもわいてくる
Streamというのがどんな動作をする機能なのか俺には分からない

それを一つずつ教えてほしい
知識より考え方のほうが大切だから、それをみんなにもわかって欲しい

909 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 02:33:08.25 ID:ukjq/gdc.net]
俺はいま躓いてるのは
Streamね、Streamが流れという概念のある機能だと漠然とした認識ではダメだ
C#ではStreamがどういう動作をするのか、それを追及しないとコードを理解できない
というわけで何故Streamのコードが動くのか説明してください誰か

910 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 02:34:29.62 ID:ukjq/gdc.net]
今までコピペプログラマだったからこういう深い理解が必要なんですよ
コピペして動くじゃダメなんです、そのからくりやら仕組みをちゃんと理解しないとダメ

911 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 02:35:31.89 ID:ukjq/gdc.net]
C言語のStreamとC#のStreamは恐らく違うだろうからまずそこからかな

912 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 02:36:08.56 ID:ukjq/gdc.net]
皆さん答えて下さいよ、今僕以外に質問してる人はいないんだから迷惑ではないはずです
誰もいない深夜に集中して質問してるんです、これは迷惑ではないですよね?

913 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 02:37:26.37 ID:ukjq/gdc.net]
少なくとも俺と同じ疑問を持つだろうなって思う人もいると思うので有益だとは思います
Streamについて詳しく教えて下さい、ちゃんと返答もします



914 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 02:40:09.16 ID:WsjdSta8.net]
>>893
Closeするときに送信する処理が行われてるんだね
簡単だね

915 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 02:41:42.81 ID:ukjq/gdc.net]
>>899
Closeの中身を見れば分かるってことですか?
どうなってるか教えて下さい
どういうメソッドがあるんでしょう?

916 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 02:43:34.60 ID:ukjq/gdc.net]
コードを見ただけで流れが分かるというメリットを考えたら
Closeの中に書く意味とかあります?
可読性ではなくて、物語性というか…

917 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 02:45:37.77 ID:tQhYyiEg.net]
ID:ukjq/gdc もうあんたのレスは俺にしか見えてないよ…
そして俺からも…さようなら

918 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 02:48:23.16 ID:6YLFMraq.net]
>>899
キチガイに触んなすな

919 名前:デフォルトの名無しさん [2016/07/30(土) 02:53:02.00 ID:ukjq/gdc.net]
>>903
たった一行のレスを何レスにもわたって延々としてるあなたのほうがキチガイだと思いますが…
あなたも質問したいならすれば?そうして空気が変われば俺は身を引きますよ
答えてくれる人がいるから質問してるんです、たった一行をずっとなんて空しい行為はやめなさい

920 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 02:55:38.70 ID:ukjq/gdc.net]
これ

Streamっていうのがどうなってるのかがよくわからないな
//送信するデータを書き込む
reqStream.Write(postDataBytes, 0, postDataBytes.Length);
ってことでURLエンコードした文字列を送るコードだけど
さっきのreqはどこいった?reqもストリームに乗せなくて大丈夫?
でそのコードはどこだ…

この疑問は結構素朴だと思うんですけど、こういう質問は何がいけないんでしょう?
ストリームは最後のトンネル、そのトンネルにreqがいないのは何故?
その仕組みが分からないという事です、おかしいですか?

921 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 03:01:14.64 ID:crIAC8Sk.net]
>>知識より考え方のほうが大切だから、それをみんなにもわかって欲しい
御託より調べようと手を動かすほうが大切だから、それをID:ukjq/gdcにもわかって欲しい

プログラムは主に英語という言語がベースになっています。C#もそうです。
Streamが道だと思っていたことこそが、あなたの知識量云々より、【あなたのプログラムへの取り組み姿勢】に問題が有ることの現れです。
私が小学生の頃にプログラムを始めた時に、意味のわからないことは辞書で調べましたよ。参考のプログラムを実際に実行させましたよ。
Streamは道じゃありません。【流れ】です。これは英語の辞書を引けば分かります。

922 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 03:03:54.83 ID:crIAC8Sk.net]
reqStream.write

リクエスを送る流れに書き込む。
これでデータが送られないと思う理由が分からなん。

御託はいいからアドレス晒してよ。

923 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 03:05:06.31 ID:0RZw9HDW.net]
釣りじゃないなら
一度メンタルの病院行った方が良いんじゃないかな
割と本気で



924 名前:デフォルトの名無しさん [2016/07/30(土) 03:10:04.37 ID:6eJMfqp8.net]
釣りに決まってんだろm9

925 名前:デフォルトの名無しさん [2016/07/30(土) 03:11:48.37 ID:ukjq/gdc.net]
>>908
釣りと思う理由は?

926 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 03:13:58.90 ID:crIAC8Sk.net]
>>909

こいつ「ID:ukjq/gdc」が「釣れてると思って喜んでる」のを「あや釣る」のも面白いんだよwww

927 名前:デフォルトの名無しさん [2016/07/30(土) 03:17:44.12 ID:ukjq/gdc.net]
>>899の人はCloseで送信処理している!と言っていて
>>907ではWriteで送信処理まで終わっているといってますね
意見が分かれちゃった、この時点で有意義な質問だったと思えますが…

928 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 03:20:32.60 ID:crIAC8Sk.net]
>>912
送信処理まで終わっているといってますね

どこに?

929 名前:デフォルトの名無しさん [2016/07/30(土) 03:22:02.11 ID:ukjq/gdc.net]
>>913
reqStream.write

リクエスを送る流れに書き込む。
これでデータが送られないと思う理由が分からなん。

930 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 03:28:13.89 ID:crIAC8Sk.net]
>>914


>「リクエスを送る流れ」に「書き込む」。
>これで「データが送られないと思う理由」が分からん。

あなたの認識が正しいなら、
「データが送られない」=「送信処理まで終わっている」?

日本語のお勉強をし直しては。

931 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 03:41:03.36 ID:ukjq/gdc.net]
System.IO.Stream reqStream = req.GetRequestStream();
なんだrequest用のストリームか、ここでreq仕様にしてるのか

932 名前:デフォルトの名無しさん [2016/07/30(土) 03:42:07.56 ID:ukjq/gdc.net]
>>915
だから送られるタイミングですよ
あなたの言い方だとWriteした時点で送信されるみたいに捉えられますよ

933 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 03:53:53.45 ID:crIAC8Sk.net]
あなたの言い方だとWriteした時点で送信されるみたいに捉えられますよ

>「だから送られるタイミングですよ」
>「送信されるみたいに捉えられますよ」

どこらへんでそう捉えたの?

「だから送られるタイミングですよ」

これはあなたが今しがた(今も?)疑問に思っていたことって意味ですか?



934 名前:デフォルトの名無しさん [2016/07/30(土) 04:02:28.99 ID:ukjq/gdc.net]
だめだこの人
揚げ足取ることしか考えてないね
こっちは単にStreamの疑問知りたいだけなのにさ…
なんか残念です、まー>>899が正解ってことならそれでいいです

935 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 04:02:46.60 ID:4BSXkGIU.net]
すんゲー伸びてると思ったらまた例の人かよ
C#に関係ない質問を延々と続けられると迷惑
もう次スレのテンプレに触るなって書いたほうがいいな

936 名前:デフォルトの名無しさん [2016/07/30(土) 04:54:15.58 ID:mo3DDFsV.net]
>>827
Cに関しては本当にそうなんでしょうね。

Cを本格的に学ぼうとするとそら大変なんでしょうけど
プログラミングの仕組みを理解する上では
つまり浅い段階の理解についてはC関連のものが分かりやすかったもんで

C#は逆に海外のサイトとかの方がわかりやすいかもですた
とりあえず形になるよう頑張ります

937 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 04:54:55.79 ID:crIAC8Sk.net]
>>919
>こっちは単にStreamの疑問知りたいだけなのにさ…

じゃあ、お望み通り正しく説明します。

1.Streamというのは流れという意味の単語です。
2.RequestStreamというのは「リクエストが流れる」ものです。
3.RequestStreamのインスタンスにリクエストを書き込むにはWriteメソッドを呼び出します。

4.Writeメソッドが呼び出されたからといって、即座にリクエストが流れるとは限りません。

5.ただし、リクエストが即座に流れることも有ります。
5-1.即座に流れる場合は、RequestStreamのバッファー領域がリクエストする情報より小さい時です。
5-2.加えて、RequestStreamのAutoFlush(自動洗浄)が有効な場合です。

6.プログラマーは、任意のタイミングでRequestStreamをFlushして、随時リクエストを送信を促すことも可能です。
6-1.多くの場合はFlushするとリクエストは即座に送信されます。
6-2.しかし、RequestStreamの実装の如何によって、即座に送信されないこともあります
6-3.これはRequestStreamを実装した側の都合によって、適切に無視することが許されているからです。
6-4.故に、このFlushを用いてリクエストが今送信されたかどうかをプログラマーが気にすることは愚かです。

7.RequesStreamは、リクエストストリームをこれ以上使用しなくて良い段階に来た際には、Closeメソッドを呼び出す必要があります。
7-1.Closeメソッドを呼び出した際にバッファーが空でなかった場合の挙動は、言語やその言語のジャージョンによって異なります。
7-2.例えば、(黎明期のJavaなどは)Flushしていないデータが欠落することなどもあり得たわけです。
7-3.ただし、C#であればCloseをすれば問題なくリクエストの送信は開始され、やがて終了します。
7-4.故に、このCloseを用いればWriteしたタイミングでリクエストが流れているかいないのか、はたまた
    Flushしたタイミングでリクエストが流れているのかいないのか、
    気にしなくとも良いのです。
7-5.但し、膨大なリクエストを逐次的に長い期間にかけて渡さなければならないような場合には、
    Flushを行いながら処理を行っていく必要があります。

938 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 04:59:45.17 ID:crIAC8Sk.net]
>>922
「ID:ukjq/gdc」と「ID:mo3DDFsV」の質問は向こう1日間は受け付けません。
質問する前に、一旦落ち着いて整理して下さい。その後縁があって質問があれば、回答を行います。

939 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 07:44:01.40 ID:SD9Rxi9F.net]
>>825
自分から勉強しようと思う気持ちがないと続かないよ
別にプログラマーに限ったことじゃないけど

940 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 08:40:01.82 ID:RyCiYMxC.net]
dobon.net/vb/dotnet/internet/webrequestpost.html
は、もう新規の人には紹介しない方が良いのでは。

HttpWebRequestは古臭い仕様で面倒臭い。
今から覚えるのなら、便利で分かりやすいHttpClientの方が良いだろう。

941 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 08:41:01.11 ID:RyCiYMxC.net]
.NET TIPS:
HttpClientクラスでWebページを取得するには?[C#、VB]
www.atmarkit.co.jp/ait/articles/1501/06/news086.html

942 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 09:03:14.71 ID:RyCiYMxC.net]
しまった、>>926はPOSTしてないから適切じゃなかった。
HttpClientは、まだ解説がしてるところが少ないのが難点だね。特に日本語の。

Web API よりも HttpClient に注目したい(しばやん雑記)
blog.shibayan.jp/entry/20120822/1345563275

943 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 10:31:45.32 ID:uyw/q1V9.net]
おはよう
>>919
本当に釣りじゃないんだな?
それならとりあえずここに来い
俺がここで相手してやるから
echo.2ch.net/test/read.cgi/hp/1468250963/

APS.NETの前にHTTP、HTMLの基本を覚えた方がいい



944 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 11:17:49.72 ID:ukjq/gdc.net]
仕事(プログラマではない)でWireshark使ってるんでパケットの流れには興味あるんです
釣りでは決してありません
>>922
詳しいレスありがとうございます。


5.ただし、リクエストが即座に流れることも有ります。
5-1.即座に流れる場合は、RequestStreamのバッファー領域がリクエストする情報より小さい時です。
5-2.加えて、RequestStreamのAutoFlush(自動洗浄)が有効な場合です。

でもなぜこんな詳細に分かるのかというか、どういう本読めば分かるんですか?

6.プログラマーは、任意のタイミングでRequestStreamをFlushして、随時リクエストを送信を促すことも可能です。

とめてから一気に送るみたいな安全なコードもかけるんですね、でしたらそのコードみてみたい


故に、このFlushを用いてリクエストが今送信されたかどうかをプログラマーが気にすることは愚かです。
????????
知りたい場合は?

945 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 11:18:22.50 ID:ukjq/gdc.net]
>>928
もうHTMLの話はしない

946 名前:デフォルトの名無しさん [2016/07/30(土) 11:28:06.60 ID:xUJaRIFl.net]
C#を取り扱っている先輩方、ご質問があります。
今、SQLserverのDBを用いてコーディングしています。その時に、双方向にそれぞれのリストを持たせた場合、
多対多の関係になると学びました。また、そのコードを記述し動かすと自動で中間テーブルを作り、
1対多、(中間テーブル)、多対1の関係性をDBに作ってくれるまでできました。
ただ、中間テーブルを作成したものの値が入りません…何かアドバイスお願いします。

public class A {
public int Id {get;set;}
public List<B> b;
}

public class B {
public int Id {get;set;}
public List<A> a;
}

static void main(){

A a = new A(){};
a.b.Add( new B { Id = 1 });

B.b = new B(){};
b.a.Add( new A { Id = 1 });
}


このようなクラスで中間テーブルまでは作成されます。
NULLの原因としては、AではBのリストを、BではAのリストをnewで入れてないからなのかなとは思うのですが、
new A { Id = 1, <bのリストに値を入れる記述> }
上記の<>で挟んだ部分をなんと記述したらいいのかわからないです…

947 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 11:47:47.91 ID:5Lcdfshx.net]
>>931
単にクラス定義をこうするだけではダメかな?

public class A {
public int Id {get;set;}
public List<B> b = new List<B>();
}

public class B {
public int Id {get;set;}
public List<A> a = new List<A>();
}

948 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 12:02: ]
[ここ壊れてます]

949 名前:50.80 ID:UF7V38Hh.net mailto: >>932
あ、すみません
コンストラクタでのnewを記述し忘れていました
それは問題ないです。またつまっているところが違ったと気付いたので、今から書き直してみます…
[]
[ここ壊れてます]

950 名前:デフォルトの名無しさん [2016/07/30(土) 12:11:56.19 ID:gt3sWNMS.net]
public class C {
public List<A> a;
public List<B> b;
}

public class A {
public int Id {get;set;}
public List<B> ListB;
public C c; // 外部キー
public A(){ b = new List<B>();}
}

public class B {
public int Id {get;set;}
public List<A> ListA;
public C c; // 外部キー
public B(){ a = new List<A>();}
}

CがAとB、AがB、BがAのリストを持っている構造にしたいです。
その際に、CにAddする時に、

static void main(){

C c = new C();
c.a.Add( new A { Id = 1, ListB = ????? });
}

< Cの持つリストa >に情報を入れる時の< ListB >の部分で詰まっています。ここをうまく解決できれば、中間テーブルにも
値が入るのではないかなと考えています。
List<B> tmpB = new List<B>();で定義したtmpBを入れてみても中間テーブルに値は反映されていませんでした。
A, B それぞれに、それぞれの外部キーを設定する必要があるとかでしょうか?

951 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 12:21:23.10 ID:5Lcdfshx.net]
>>934
一旦シンプルにしたほうがいい。
クラスCの定義が変だと思う。

//これはAとBの関係を保つためのクラス
public class C {
public A a;
public B b;
}

public class A {
public int Id {get;set;}
}

public class B {
public int Id {get;set;}
}

952 名前:デフォルトの名無しさん [2016/07/30(土) 12:32:22.73 ID:VbvJ+5P0.net]
>>935
つまり、Cはa, b に関係を持つが集約の関係性ってのがおかしいってことでしょうか
一応、そこの関係性は崩せると思いますが、ABの関係性は崩すと大きくクラス設計に関わってきそうです…

public class C {
public A a;
public B b;
}

public class A {
public int Id {get;set;}
public List<B> ListB;
public C c; // 外部キー
public A(){ b = new List<B>();}
}

public class B {
public int Id {get;set;}
public List<A> ListA;
public C c; // 外部キー
public B(){ a = new List<A>();}
}

static void main(){

C c = new C();
c.a = new A { Id = 1, ListB = ????? };
}

953 名前:デフォルトの名無しさん [2016/07/30(土) 12:34:07.18 ID:VbvJ+5P0.net]
連投ですみません。
どちらかと言うと、多対多で中間テーブルが自動生成させるのを達成したい感じです…
この状況で A B C のテーブルは自分で作ることになりますが、
A B の中間テーブルは自動で作られると思うので…



954 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 13:07:12.61 ID:RyCiYMxC.net]
>>934
c.a.Add( new A { Id = 1, ListB = c.b });
でダメなのかい。

後、
c.a = new List<A>();
c.b = new List<B>();
も抜けてそうだけど。

955 名前:デフォルトの名無しさん mailto:sage [2016/07/30(土) 13:27:18.34 ID:cua4PELF.net]
ListのインスタンスをA,Bのコンストラクタで作る(A,BのインスタンスごとにListを持つ)つもりのようだけど
作ったListにはどんなAやBをAddしていくつもり?

AはBのListを持ち、そのListに入るBを作るにはAのListを作りそのAのListに…
…となると終わりはないけど、リストが空でも問題ない?
空で問題ないなら、new A するときに ListBに何かする必要はない
(というか、ListB = ??? とかしちゃうと、Aのコンストラクタでの new List<B>()が無駄になるよ)






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

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

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