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


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

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



1 名前:デフォルトの名無しさん mailto:sageteoff [2015/03/18(水) 18:08:26.52 ID:irwZfv9C.net]
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

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

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

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

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

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

■関連スレ
C#, C♯, C#相談室 Part86
peace.2ch.net/test/read.cgi/tech/1419608259/

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

992 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 21:42:25.14 ID:aXZfp9EM.net]
ま、誰もが一度は通る細道よ
もぞもぞっとしてああそうか、で終わりよ

993 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 08:30:09.15 ID:U6+aOXmn.net]
C#もメソッドの複数戻り値欲しい
対応する他の言語も増えてるんだし
あ、Tupleは論外です

994 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 08:41:53.84 ID:TS0XlDWE.net]
言語仕様にごちゃごちゃ言えるレベルかよ
コード書いてろよタコ

995 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 08:46:01.63 ID:ZxkWSQzJ.net]
その複数の戻り値を格納したクラスのオブジェクトを返せばいいだけでは

996 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 09:23:42.50 ID:pk39sm1t.net]
dynamicでむちゃくちゃシンプルに複数戻り値のメソッド記述できるだろ

997 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 09:53:13.21 ID:PjK/lpsq.net]
連想配列を使うのが流行ってる

998 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 11:46:55.79 ID:kBfZhVx2.net]
>>958
なぜ論外なのか教えてください

999 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:12:07.88 ID:qt5SIPya.net]
メソッドから複数の戻り値返せるような言語の例をあげて欲しいんだが

1000 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:15:50.25 ID:EDjn9D6L.net]
Go、Scala、python、perl、ruby



1001 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:17:20.40 ID:IXTBYhaq.net]
tuple返したらだめなん?

1002 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:18:44.80 ID:mRhwc0pv.net]
>>961
どうやるん?

1003 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:19:07.82 ID:sTXZljFQ.net]
>>960
それだと最大でメソッドごとにクラスが必要でクラスごとにプロパティを持つことになりますね
これが陳腐、非生産的なので複数戻り値をサポートする言語が増えています
>>961
dynamicは実行速度が低速なので論外です

1004 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:28:03.41 ID:WTwMH7IK.net]
C#にも匿名型があるじゃん

1005 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:30:19.81 ID:sTXZljFQ.net]
ほぅ、では匿名型で書いてみましょうか
どうなると思います?

1006 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:40:17.61 ID:qt5SIPya.net]
>>965
Goは確かにできるみたいだな。これは面白そうではあるけど
それ以外で直接、複数戻り値返せるのはなさそうだけど?
あくまで戻してるのは配列やリストだろ。それを複数変数に一括代入できるだけで
だったらC#でもオブジェクトの配列でも戻せば良いんじゃね
オブジェクト指向としての設計方針がどうなのかはしらんが

匿名クラスが戻り値に指定出来れば面白いかもしれんのだがなぁ
出来ない事は無いような気がするんだが、やらない方針なのか

1007 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:43:35.50 ID:pk39sm1t.net]
>>967
private void button1_Click(object sender, EventArgs e)
{
var packed = GetHoge ();
if (packed.IsOK)
{
textBox1.Text = packed.Name;
}
}

private dynamic GetHoge ()
{
return new { Name = "ほげ", IsOK = true };
}

1008 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:48:04.38 ID:TS0XlDWE.net]
うんこに触りまくりだなキミら

1009 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:49:18.70 ID:pk39sm1t.net]
>>968
速度が必要なところではクラスを使って問題ないところでdynamic
使い分けがめんどくさいなら他の言語に行けば

1010 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:54:29.41 ID:EDjn9D6L.net]
>>971
内部的にはどの言語も戻してるのは配列やリストだし、C#でも同じことはできるが
例えばperlなら下のように簡単にできるってのがメリットってだけだからな

sub a { return (123, "abc"); }
my ($aaa, $bbb) = a();



1011 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 13:00:51.91 ID:mRhwc0pv.net]
>>972
ありがとー
名無しクラスで

1012 名前:返すのか []
[ここ壊れてます]

1013 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 13:15:07.21 ID:qt5SIPya.net]
匿名型は型もってるけど、ダイナミックは結局Object型だからなぁ
結局のとこタイプセーフどうすのって話になるかと

なんか構想はあるみたいだな
https://ufcpp.wordpress.com/2015/02/11/c-7%E3%81%AB%E5%90%91%E3%81%91%E3%81%A68-tuples/

1014 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 13:20:39.70 ID:pk39sm1t.net]
>>977
>結局のとこタイプセーフどうすのって話になるかと
そこがね、結構な弱点ではある

1015 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 13:30:42.49 ID:HWlVqIKe.net]
>>966
というよりこの話題でタプルを別に考えなくていいやんと思う
タプル返すならそれでいいやんって思う

しかもrubyの場合は単にArrayなんじゃなかった?(あやふや)
それだとしてもそれでいいやんって思う

用は単にx, y = fと書きたいだけじゃないのみんな

1016 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 13:46:51.67 ID:mRhwc0pv.net]
>>979
publicなメソッドでitem1、item2、...はあかんわ

1017 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 14:48:50.22 ID:PIoug+Wj.net]
>>980
ごめん、C#のSystem.Tupleについては存在すら知らなかった
ocamlのタプルを勝手に想像してて
(x, y)やカッコも省略できるんでx, yもタプル
let a, b = (1, 2);;
こういうのを勝手に想像してたすまそ

1018 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 16:52:35.77 ID:qt5SIPya.net]
>>979
>用は単にx, y = fと書きたいだけじゃないのみんな
俺はこれは嫌だな。fにx,yが内包されている事がわからんから
これだったらそれこそf.item1,f.item2で良いわけで、今のタプルで良いかと
f.なになに で、名前と型が維持されてないとダメだ

1019 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 17:05:13.40 ID:qt5SIPya.net]
そういえば上の方で、タプルは
>言語レベルでのサポートがない言語で使うべきではない
って力説してた人がいたなぁ

dynamicは遅いから論外だって言ってるけど
>>958がタプルを論外だと言う理由は何だろ

1020 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 17:39:44.26 ID:gSeUuLQi.net]
>>982
あぅ…つくづくスマン

> x, y = f

これは f() の意味ね
あなたの論旨に対して瑣末なことではあるが一応訂正しとく



1021 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 20:16:16.46 ID:fVR/pyHV.net]
ふらふらっと

1022 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 20:56:38.80 ID:n0YcJJeB.net]
次期バージョンで複数戻り値がサポートされそうってのがあったけどいつの間にかなくなったしな

1023 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 23:21:04.78 ID:pk39sm1t.net]
>>983
きっとitem1、item2...ってなるのが気に入らないんだよ

1024 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 23:35:34.00 ID:LHx3NAum.net]
まぁそれでもないよりはましなのかなC#にとって
C++でもpairってやっぱ、要所要所で欲しいし
白状するとC#でもpair<T1,T2>みたいなん作って使っちゃってます
first, secondってのも名前としてはまぁそうなるよねって感じ
item1, item2...とそう変わるもんじゃあない

1025 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 23:41:44.85 ID:oR9xV2kd.net]
>>983
あれはタプルって読むのか。
ずっとチュープルだと思っていた。
tupleなんて使わないよなあ。
必要なら構造体を定義する方が分かり易いし。

1026 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 00:23:28.32 ID:k/qBkFOv.net]
しかも構造体なら値型だしね
多くの場合そっちのほうが望みどおりだろう

1027 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 00:49:17.62 ID:8+ik3mP9.net]
静的型付けとかJITとかのあたりの仕組みが全く理解できなくてワロタwww・・・

どうすればいいですか・・・?

1028 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 00:59:06.73 ID:drHIjVcg.net]
>>989>>990
数学の世界ですら
円の方程式ならy=±√(r^2-x^2)で解は2つ、三次方程式なら解は3つといった具合に、純粋関数が複数戻り値を返す
タプルの概念自体を否定するのはおかしいし、それを構造体やクラス化するのもまたおかしな話し
数学というモデルが存在する以上、いずれC#も対応せざるを得ないんじゃないのかな

1029 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 01:07:25.57 ID:889KT988.net]
√2などを表現できる数値型がないとおかしい
まで読んだ

1030 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 01:22:35.57 ID:K3Unqfxi.net]
あれば使うだろうが無けりゃ無いでどうでもいいわ
無いとプログラム書けない奴はコールドスリープにでも入って50年後に目覚めてろ



1031 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 01:54:58.88 ID:4m9Vq9W3.net]
>>986
>977のissueはまだ続いてるみたいだし、なくなったって訳じゃないんじゃね?
割と大きな変更になりそうだから後に回されただけで。

1032 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 01:59:21.89 ID:PAkk6Hqa.net]
>>992
数学とプログラミングを無理矢理に
関連付けてヘンテコな説を唱えて
一人悦に入って居ればいいよ。

1033 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 06:17:01.48 ID:7qvaXLbV.net]
数学に可読性や保守性なんていう概念はないだろう
数学だとほとんどの場合一文字変数しか使わないけど、
だからってC#でも常に一文字変数を使うべきだと?

1034 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 09:09:41.81 ID:wIKfbX0j.net]
皆の希望を全部いれた言語なんてろくなモンにならん

1035 名前:980 mailto:sage [2015/07/08(水) 16:34:36.23 ID:K7cQm9JH.net]
次スレってどうやって立てるんだ
新規スレッド作成画面から作成したはずなんだが

1036 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 16:46:33.07 ID:HMKJDSG5.net]
>>999
したはず ってことは、もう勃ってるんだろ?
リロードすればいいだろ。

1037 名前:980 mailto:sage [2015/07/08(水) 16:48:45.27 ID:K7cQm9JH.net]
したはずなんだが出てこない
2回やっちまったけど、これで出来てなかったら誰か頼むわ

1038 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 17:42:08.39 ID:rwtUEn+Z.net]
peace.2ch.net/test/read.cgi/tech/1436344868/
立てたよー

>>1001
なんか立てたはずなのに立ってないってのがちょくちょくあるっぽい

1039 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 18:11:25.27 ID:t2tbnUcj.net]
せん

1040 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。



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






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

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

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