「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part132
http://mevius.5ch.net/test/read.cgi/tech/1507543256/
■関連スレ
C#, C♯, C#相談室 Part95
http://mevius.5ch.net/test/read.cgi/tech/1508180530/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■情報源https://msdn.microsoft.com/ja-jp/library/gg145045.aspx
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
探検
ふらっと C#,C♯,C#(初心者用) Part133
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 7bde-MYX9)
2017/11/07(火) 21:11:25.20ID:LeQqgpmT0393デフォルトの名無しさん (ワッチョイ 7f0c-advO)
2017/11/15(水) 02:16:30.38ID:oUD9LeEe0 ここは間を取ってContractしよう
394デフォルトの名無しさん (ワッチョイ ff9f-gk0q)
2017/11/15(水) 03:59:39.11ID:f4TQv9de0395デフォルトの名無しさん (ワッチョイ 7f19-TPjW)
2017/11/15(水) 06:34:16.49ID:iANpDJJe0 >>392
具体的には何のライブラリ?
具体的には何のライブラリ?
396デフォルトの名無しさん (スップ Sd1f-voEu)
2017/11/15(水) 08:15:52.85ID:M8NqkMX5d >>395
キチガイに触んなすな
キチガイに触んなすな
397デフォルトの名無しさん (ササクッテロレ Sp33-hKMu)
2017/11/15(水) 08:45:58.03ID:6LdVh8Top >>394
LINQでどうやるの?
LINQでどうやるの?
398デフォルトの名無しさん (ワッチョイ dfe3-FK5L)
2017/11/15(水) 09:21:08.88ID:EAeU3mIh0399デフォルトの名無しさん (ワッチョイ 5f02-BPYy)
2017/11/15(水) 09:39:52.81ID:tmuRT0930 ガイジコラボ
400デフォルトの名無しさん (ドコグロ MM7f-FK5L)
2017/11/15(水) 10:00:24.72ID:K3LG5GcrM401デフォルトの名無しさん (スッップ Sd9f-gk0q)
2017/11/15(水) 10:01:55.68ID:DCxsxqPWd >>397
やりたいのは文字列じゃないけどこんな感じのイメージ
パフォーマンスはしらない
var list = new List<string>() { "○", "×", "×", "×" , "○", "△", "△", "○", "△" };
Func<string, bool> isFirst = (item) => item == "○";
int groupingId = 0;
var result = list.Select(item =>{
if (isFirst(item)) { groupingId++; }
return new { Id = groupingId, Value = item };
})
.GroupBy(pair => pair.Id, pair => pair.Value);
// { "○", "×", "×", "×"}{"○", "△", "△"}{"○", "△" }
List<List<string>> hoge = result.Select(group => group.ToList()).ToList();
やりたいのは文字列じゃないけどこんな感じのイメージ
パフォーマンスはしらない
var list = new List<string>() { "○", "×", "×", "×" , "○", "△", "△", "○", "△" };
Func<string, bool> isFirst = (item) => item == "○";
int groupingId = 0;
var result = list.Select(item =>{
if (isFirst(item)) { groupingId++; }
return new { Id = groupingId, Value = item };
})
.GroupBy(pair => pair.Id, pair => pair.Value);
// { "○", "×", "×", "×"}{"○", "△", "△"}{"○", "△" }
List<List<string>> hoge = result.Select(group => group.ToList()).ToList();
402デフォルトの名無しさん (ガックシ 064f-7wKg)
2017/11/15(水) 11:14:21.87ID:LdCnvqY76 LINQと関数型プログラミングって何が違うの?
403デフォルトの名無しさん (ドコグロ MM7f-FK5L)
2017/11/15(水) 11:42:46.04ID:l4Bv56LcM >>402
ガイジ乙
ガイジ乙
404デフォルトの名無しさん (ワッチョイ 5f19-7wKg)
2017/11/15(水) 11:51:23.71ID:CJEkfJ7L0 >>401
畳み込みですやってみた。
var list = new List<string>() { "○", "×", "×", "×", "○", "△", "△", "○", "△" };
var isFirst = new Func<string, bool>((item) => item == "○");
var result = list.Aggregate(new List<List<string>>(), (prevList, item) =>
{
if (isFirst(item))
prevList.Add(new List<string>() { item });
else
prevList.Last().Add(item);
return prevList;
});
// resultからhogeにクローン
var hoge = (List<List<string>>)result.Select(group => (List<string>)group.Select(item => item));
畳み込みですやってみた。
var list = new List<string>() { "○", "×", "×", "×", "○", "△", "△", "○", "△" };
var isFirst = new Func<string, bool>((item) => item == "○");
var result = list.Aggregate(new List<List<string>>(), (prevList, item) =>
{
if (isFirst(item))
prevList.Add(new List<string>() { item });
else
prevList.Last().Add(item);
return prevList;
});
// resultからhogeにクローン
var hoge = (List<List<string>>)result.Select(group => (List<string>)group.Select(item => item));
405デフォルトの名無しさん (ガックシ 064f-7wKg)
2017/11/15(水) 12:03:19.06ID:RrK4s1ZI6 こっちの方がいいか。
var list = new List<string>() { "○", "×", "×", "×", "○", "△", "△", "○", "△" };
var isFirst = new Func<string, bool>((item) => item == "○");
var hoge = list.Aggregate(new List<List<string>>(), (prevList, item) =>
{
if (isFirst(item)) { prevList.Add(new List<string>() };
prevList.Last().Add(item);
return prevList;
});
var list = new List<string>() { "○", "×", "×", "×", "○", "△", "△", "○", "△" };
var isFirst = new Func<string, bool>((item) => item == "○");
var hoge = list.Aggregate(new List<List<string>>(), (prevList, item) =>
{
if (isFirst(item)) { prevList.Add(new List<string>() };
prevList.Last().Add(item);
return prevList;
});
406デフォルトの名無しさん (ガックシ 064f-7wKg)
2017/11/15(水) 12:05:06.75ID:RrK4s1ZI6 if (isFirst(item)) { prevList.Add(new List<string>() };
括弧ミスった
括弧ミスった
407デフォルトの名無しさん (スプッッ Sd73-advO)
2017/11/15(水) 12:05:11.35ID:Tar4qvIud Func<T,bool> を受け取るSplit関数定義した方が後で楽じゃね?
408デフォルトの名無しさん (ガックシ 064f-7wKg)
2017/11/15(水) 12:07:15.90ID:RrK4s1ZI6 確かにその方がスッキリするな。
いずれにしろsplitの中身を定義しないといけないけど
いずれにしろsplitの中身を定義しないといけないけど
409デフォルトの名無しさん (スッップ Sd9f-gk0q)
2017/11/15(水) 12:29:09.51ID:DCxsxqPWd >>405
Agreegate余り使ったことなかったけど便利だな
こっちの方が綺麗だ
if (isFirst(item) ||prevList.Count>0)
書いてなかったけど、リストの先頭が〇とは限らないのでこんな感じで
Agreegate余り使ったことなかったけど便利だな
こっちの方が綺麗だ
if (isFirst(item) ||prevList.Count>0)
書いてなかったけど、リストの先頭が〇とは限らないのでこんな感じで
410デフォルトの名無しさん (ブーイモ MM0f-hQHN)
2017/11/15(水) 12:35:31.31ID:MLdh1wBXM Aggregateは宣言的でないので関数型に慣れたらむしろ読み辛く感じるようになる
考え方が実質的に手続き型だから、手続き型に慣れてる人には馴染みやすいので濫用されてしまいやすい
考え方が実質的に手続き型だから、手続き型に慣れてる人には馴染みやすいので濫用されてしまいやすい
411デフォルトの名無しさん (ガックシ 064f-7wKg)
2017/11/15(水) 12:43:50.52ID:LdCnvqY76 関数型の典型的な関数みたいにバッ、バッって感じじゃなくてズィーンて感じだからか。
>>401のやり方だと使ってる関数はバッバだけ感じかもしれないけど外部変数使ってるから内外に絡み合ってるのがあれだけどどうすればいいんだろう
>>401のやり方だと使ってる関数はバッバだけ感じかもしれないけど外部変数使ってるから内外に絡み合ってるのがあれだけどどうすればいいんだろう
412デフォルトの名無しさん (ワッチョイ ff9c-J+qm)
2017/11/15(水) 12:46:35.76ID:h8srGYM+0 Select/Aggregateなんて変な書き方せず素直にmap/reduceでいいのにな
SQLっぽくというコンセプトで台無しになってる感じ
SQLっぽくというコンセプトで台無しになってる感じ
413デフォルトの名無しさん (ガックシ 064f-7wKg)
2017/11/15(水) 12:48:32.27ID:LdCnvqY76 ズィーン→ズインッ→ズィッ→バッ
こう見れば畳み込みも関数型に馴染む
こう見れば畳み込みも関数型に馴染む
414デフォルトの名無しさん (ガックシ 064f-7wKg)
2017/11/15(水) 12:49:52.25ID:LdCnvqY76 >>412
まあこの場合ではSQLを扱ってるわけじゃないしな
まあこの場合ではSQLを扱ってるわけじゃないしな
415デフォルトの名無しさん (ドコグロ MM7f-FK5L)
2017/11/15(水) 12:54:47.35ID:l4Bv56LcM 関数にした方が見やすいじゃん
無駄に不具合出して喜ぶ低能過ぎる
無駄に不具合出して喜ぶ低能過ぎる
416デフォルトの名無しさん (スッップ Sd9f-gk0q)
2017/11/15(水) 13:11:40.68ID:DCxsxqPWd 確かに目新しさにおおーってなったけど、これただのforeachでいいな
やっぱシンプルにループさせるのが最強か
var result = new List<List<string>>();
list.ForEach(item => {
if (isFirst(item) || list.Count <= 0){
result.Add(new List<string>());
}
result.Last().Add(item);
});
やっぱシンプルにループさせるのが最強か
var result = new List<List<string>>();
list.ForEach(item => {
if (isFirst(item) || list.Count <= 0){
result.Add(new List<string>());
}
result.Last().Add(item);
});
417デフォルトの名無しさん (ブーイモ MM0f-hQHN)
2017/11/15(水) 13:14:41.39ID:MLdh1wBXM var sep = list.Select((x, i) => new {x, i})
.Where(xi => xi.x == '○')
.Select(xi => new[] {'○'}.Concat(
list.Skip(xi.i + 1).TakeWhile(x => x != '○')));
こうかな
関数作った方がいいのは同意する
.Where(xi => xi.x == '○')
.Select(xi => new[] {'○'}.Concat(
list.Skip(xi.i + 1).TakeWhile(x => x != '○')));
こうかな
関数作った方がいいのは同意する
418デフォルトの名無しさん (アウアウエー Sa7f-+sn6)
2017/11/15(水) 14:15:45.67ID:1p9gbgPTa 上のお題、結果がIEnumerable<IEnumerable<string>>でいいなら、
var list = new List<string>() { "○", "×", "×", "×", "○", "△", "△", "○", "△" };
var index = 0;
var hoge = list.GroupBy(x => x == "○" ? ++index : index);
ではだめ?
var list = new List<string>() { "○", "×", "×", "×", "○", "△", "△", "○", "△" };
var index = 0;
var hoge = list.GroupBy(x => x == "○" ? ++index : index);
ではだめ?
419デフォルトの名無しさん (ワッチョイ 5f96-7wKg)
2017/11/15(水) 17:26:29.53ID:7R79hyBA0420デフォルトの名無しさん (ワッチョイ 5f96-7wKg)
2017/11/15(水) 17:30:36.24ID:7R79hyBA0 >>417
それaggregateより読みやすいと思うか?
それaggregateより読みやすいと思うか?
421デフォルトの名無しさん (ワッチョイ 5f96-7wKg)
2017/11/15(水) 17:40:07.85ID:7R79hyBA0 >>418
その型じゃダメでしょ。
その型じゃダメでしょ。
422デフォルトの名無しさん (アウアウエー Sa7f-+sn6)
2017/11/15(水) 18:02:02.20ID:1p9gbgPTa423デフォルトの名無しさん (ワッチョイ 5ff9-7wKg)
2017/11/15(水) 18:04:09.97ID:uxhVFwQf0424デフォルトの名無しさん (アウアウエー Sa7f-+sn6)
2017/11/15(水) 18:09:17.28ID:1p9gbgPTa425デフォルトの名無しさん (ワッチョイ ff9d-ouqv)
2017/11/15(水) 18:38:01.15ID:AeO6Jp1U0 いつも思うんだが、この手のやつをLINQでやりたがるやつって何が目的なんだろ
自分ですらすらと書けるならLINQでいいけど、そうじゃないなら勉強以上の意味があるとは思えん
個人的にはシンプルさを競うなら>>418がいいと思う
戻りの型が気に食わないなら
.Select(t => t.ToList<string>()).ToList<List<string>>();
あたり追加すればいいだろ
自分ですらすらと書けるならLINQでいいけど、そうじゃないなら勉強以上の意味があるとは思えん
個人的にはシンプルさを競うなら>>418がいいと思う
戻りの型が気に食わないなら
.Select(t => t.ToList<string>()).ToList<List<string>>();
あたり追加すればいいだろ
426デフォルトの名無しさん (ワッチョイ dfe3-FK5L)
2017/11/15(水) 18:40:53.79ID:EAeU3mIh0 こんなのやっててきったねーコード書く癖がついたら嫌だなw
427デフォルトの名無しさん (ワッチョイ df03-uZPj)
2017/11/15(水) 18:46:37.59ID:iCpU6Box0 お前らが思ってる程きれいでもきたなくもないから安心しろ
428デフォルトの名無しさん (ワッチョイ df81-nR9L)
2017/11/15(水) 18:49:57.02ID:rNYxO5wL0 おい!待望の独習C#新版がでるみたいだぞ!
429デフォルトの名無しさん (ワッチョイ 5fe6-7wKg)
2017/11/15(水) 18:56:00.52ID:SIgrthm30430デフォルトの名無しさん (ワッチョイ 5fe6-7wKg)
2017/11/15(水) 18:56:47.00ID:SIgrthm30 関数を定義するときには場所にも悩むしな
431デフォルトの名無しさん (スッップ Sd9f-gk0q)
2017/11/15(水) 19:00:28.04ID:DCxsxqPWd >>418
Selectなくても大丈夫だったか
hogeのGetEnumeratorが呼ばれる度にindexが増えていくのが気になるけど
戻り値はIEnumerableでもIGroupingどっちでもいいけどkeyは隠すかも
もし必要になったら以下のメソッドを作って、foreachと速度比較してって採用するかどうかって感じかな
色々と参考になった
public static IEnumerable<IEnumerable<string> Split<T>(IEnumerable<T> source, Func<T, bool> predicate){
var index = 0;
return source.GroupBy(x => predicate(x) ? ++index : index);
}
Selectなくても大丈夫だったか
hogeのGetEnumeratorが呼ばれる度にindexが増えていくのが気になるけど
戻り値はIEnumerableでもIGroupingどっちでもいいけどkeyは隠すかも
もし必要になったら以下のメソッドを作って、foreachと速度比較してって採用するかどうかって感じかな
色々と参考になった
public static IEnumerable<IEnumerable<string> Split<T>(IEnumerable<T> source, Func<T, bool> predicate){
var index = 0;
return source.GroupBy(x => predicate(x) ? ++index : index);
}
432デフォルトの名無しさん (ワッチョイ 5f6e-7wKg)
2017/11/15(水) 19:05:07.59ID:JCFmpBxh0 俺嫌われすぎだろ
アスペルガー症候群だから仕方ないのか
アスペルガー症候群だから仕方ないのか
433デフォルトの名無しさん (ガックシ 064f-7wKg)
2017/11/15(水) 19:06:53.89ID:LdCnvqY76 スリップが****-7wKgのは全部ワシじゃ
434デフォルトの名無しさん (ワッチョイ ff9c-J+qm)
2017/11/15(水) 19:46:43.95ID:h8srGYM+0 linqより何でもListにしないと心休まらない兄貴の方が重症かもな
435デフォルトの名無しさん (オッペケ Sr33-48y6)
2017/11/15(水) 19:57:17.06ID:rGQqr4VZr436デフォルトの名無しさん (ワッチョイ 5fb3-4T/N)
2017/11/15(水) 20:39:25.83ID:ILed194Q0 >>428
ここにいる人らにはもう必要ない
ここにいる人らにはもう必要ない
437デフォルトの名無しさん (ワッチョイ ffe8-ueqH)
2017/11/15(水) 20:42:42.91ID:4QHQX7jw0 >>434
アカンか?
アカンか?
438デフォルトの名無しさん (ワッチョイ dfe3-FK5L)
2017/11/15(水) 21:21:02.68ID:EAeU3mIh0 linqだからで許されてるクソコード延々貼り付けたガイジはさっさと死ねよ
439デフォルトの名無しさん (ワッチョイ 5f86-bJtK)
2017/11/15(水) 21:25:59.97ID:md1eodvT0 LINQが良いか悪いかは別にしてLINQを必要以上に毛嫌いする奴って頭悪いだけだろ。
440デフォルトの名無しさん (ワッチョイ dfe3-FK5L)
2017/11/15(水) 21:34:02.77ID:EAeU3mIh0 >>439
今回のは普通に書いた方が綺麗だったよね?
今回のは普通に書いた方が綺麗だったよね?
441デフォルトの名無しさん (ワッチョイ ff81-BPYy)
2017/11/15(水) 21:34:15.53ID:O2CkROvj0 ここ数日の有り様は何なんだろう
C#養護学校の卒業式でもあったのかね
C#養護学校の卒業式でもあったのかね
442デフォルトの名無しさん (ワッチョイ dfe3-FK5L)
2017/11/15(水) 21:35:20.82ID:EAeU3mIh0 linq友の会スレ使えよガイジ
443デフォルトの名無しさん (ワッチョイ 5f16-bJtK)
2017/11/15(水) 21:36:55.30ID:4L7ZsFBR0 必要以上にってのが言いたかった。
実用性は別としてリスト操作系関数でスラスラ書ける奴にコンプでもあるのかって思っちゃう
実用性は別としてリスト操作系関数でスラスラ書ける奴にコンプでもあるのかって思っちゃう
444デフォルトの名無しさん (ワッチョイ dfe3-FK5L)
2017/11/15(水) 21:39:23.16ID:EAeU3mIh0445デフォルトの名無しさん (ワッチョイ dfe3-FK5L)
2017/11/15(水) 21:43:12.25ID:EAeU3mIh0 あとは
設計書記述スキルを上げるか
見積り書記述スキルを上げるか
議事録作成スキルを上げるか
した方がナンボか実りがあるよ
設計書記述スキルを上げるか
見積り書記述スキルを上げるか
議事録作成スキルを上げるか
した方がナンボか実りがあるよ
446デフォルトの名無しさん (ワッチョイ 5f16-bJtK)
2017/11/15(水) 21:44:53.19ID:4L7ZsFBR0 しかし自分の苦手な物を使える奴にはコンプを感じる
447デフォルトの名無しさん (ワッチョイ ff9a-TPjW)
2017/11/15(水) 21:46:47.98ID:D6YDuXrJ0 >>440
レスいくつも書き込むくらいならそのコード提示したらいいのに
レスいくつも書き込むくらいならそのコード提示したらいいのに
448デフォルトの名無しさん (ワッチョイ dfe3-FK5L)
2017/11/15(水) 21:48:01.68ID:EAeU3mIh0449デフォルトの名無しさん (ワッチョイ 5f25-bJtK)
2017/11/15(水) 22:15:03.22ID:mH4zmpJW0 興味ねーならゴミだのクソだのほざいてんじゃねーよw
450デフォルトの名無しさん (ワッチョイ dfe3-FK5L)
2017/11/15(水) 22:17:35.92ID:EAeU3mIh0451デフォルトの名無しさん (ワッチョイ dfe3-FK5L)
2017/11/15(水) 22:20:30.39ID:EAeU3mIh0 どれだけ偉そうな主張があるのかと思えば
貼ってあるのはクソコードばかり
linq貼ってるやつ目障りだから死ねよ
普通に組んだ方が綺麗なコードなら持ってくんなよ
だっせ
貼ってあるのはクソコードばかり
linq貼ってるやつ目障りだから死ねよ
普通に組んだ方が綺麗なコードなら持ってくんなよ
だっせ
452デフォルトの名無しさん (ワッチョイ 5ffa-bJtK)
2017/11/15(水) 22:21:20.95ID:txwTk3zR0 おまえの価値基準で判断すんなw
コンプ感じてるだけw
コンプ感じてるだけw
453デフォルトの名無しさん (ワッチョイ 5fc9-Ud84)
2017/11/15(水) 22:24:54.13ID:qS39jpKw0 これ以上はLINQスレでやれと言おうとしたらもう落ちているのね
454デフォルトの名無しさん (ワッチョイ dfe3-FK5L)
2017/11/15(水) 22:25:31.88ID:EAeU3mIh0455デフォルトの名無しさん (ワッチョイ dfe3-FK5L)
2017/11/15(水) 22:26:54.12ID:EAeU3mIh0 >>453
linq誰も使ってないからな
linq誰も使ってないからな
456デフォルトの名無しさん (ワッチョイ ff9a-TPjW)
2017/11/15(水) 22:28:44.48ID:D6YDuXrJ0 まあコード書けないアホは相手にしなくていいよ
457デフォルトの名無しさん (ワッチョイ dfe3-FK5L)
2017/11/15(水) 22:35:29.64ID:EAeU3mIh0 どっちかっていうとアプリを作れないアホだな
まあ、コードで何か主張したいならGitHubでもやればいいのに
こんな便所でしか主張できないなら
クズどものlinqライフもここでしめーだろ
まあ、コードで何か主張したいならGitHubでもやればいいのに
こんな便所でしか主張できないなら
クズどものlinqライフもここでしめーだろ
458デフォルトの名無しさん (ワッチョイ 5fe5-7wKg)
2017/11/15(水) 22:39:12.32ID:E1HTns1P0 ウハwwwwww
書けない奴が批判の図wwww
権利すらなしwwwwwww
書けない奴が批判の図wwww
権利すらなしwwwwwww
459デフォルトの名無しさん (ワッチョイ dfe3-FK5L)
2017/11/15(水) 22:44:23.78ID:EAeU3mIh0460デフォルトの名無しさん (ワッチョイ 5f4b-bJtK)
2017/11/15(水) 23:03:01.93ID:vH3D/QHI0 キミ流のコードおなシャス!
461デフォルトの名無しさん (ワッチョイ df81-nR9L)
2017/11/15(水) 23:19:43.56ID:rNYxO5wL0 >>436
ここは初心者スレじゃないのかw
ここは初心者スレじゃないのかw
462デフォルトの名無しさん (ササクッテロ Sp33-nSoy)
2017/11/15(水) 23:22:37.65ID:vwyVPxZJp 人間初心者のスレですよ、たぶん
463デフォルトの名無しさん (ササクッテロ Sp33-nSoy)
2017/11/15(水) 23:25:46.54ID:vwyVPxZJp 正確にはC#で記述された人工知能なんですけどね
464デフォルトの名無しさん (ワッチョイ 5f75-7wKg)
2017/11/15(水) 23:26:21.77ID:H4muME/S0 >>428
どこ情報?
どこ情報?
465デフォルトの名無しさん (ワッチョイ dfe3-FK5L)
2017/11/15(水) 23:47:19.33ID:EAeU3mIh0 >>464
amazonで予約中になってる
amazonで予約中になってる
466デフォルトの名無しさん (ワッチョイ 5e9c-TFbh)
2017/11/16(木) 12:14:27.14ID:x/aWQ3sN0 stringは参照型だから既定値はnullということで合ってるよね?
467デフォルトの名無しさん (ブーイモ MMcd-rQ5a)
2017/11/16(木) 12:22:49.67ID:/4eW5bh4M >>466
既定値はnullだけどstringはイミュータブル型
既定値はnullだけどstringはイミュータブル型
468デフォルトの名無しさん (アウアウイー Sa91-8CrJ)
2017/11/16(木) 13:24:58.55ID:lGT15xaEa >>466
stringは参照型で規定値はnull
stringは参照型で規定値はnull
469デフォルトの名無しさん (ワッチョイ 92eb-RjUU)
2017/11/16(木) 18:15:43.67ID:7VJMckpW0 WPFじゃなくてWindowsForms内で簡単な3D描画したいんですが
どういう風がいいでしょうか。
とりあえず箱を線で描くだけなんですが。
・DrawLineみたいなので始点終点を3次元(X,Y,Z)で指定し描画
・視点の位置(X,Y,Z)と向きを指定して表示
って風な感じが希望なんですが・・・・
どういう風がいいでしょうか。
とりあえず箱を線で描くだけなんですが。
・DrawLineみたいなので始点終点を3次元(X,Y,Z)で指定し描画
・視点の位置(X,Y,Z)と向きを指定して表示
って風な感じが希望なんですが・・・・
470デフォルトの名無しさん (ワッチョイ 2de3-vU7N)
2017/11/16(木) 18:25:02.34ID:K+YFepCs0 それでいいじゃん
471デフォルトの名無しさん (ワッチョイ 92eb-RjUU)
2017/11/16(木) 18:27:37.39ID:7VJMckpW0 DrawLine の Point型 って X,Y しかないじゃないですか。
X,Y,Z で指定できる DrawLine がないのかと
X,Y,Z で指定できる DrawLine がないのかと
472デフォルトの名無しさん (ワッチョイ 82d2-GPeT)
2017/11/16(木) 18:32:16.65ID:F5ZZYHwp0 気合で座標計算
473デフォルトの名無しさん (ワッチョイ 2de3-vU7N)
2017/11/16(木) 18:39:59.53ID:K+YFepCs0 カメラ固定でいいんだろ?
ZがXYのどこになるかは簡単な計算で出せる
紙に気に入った角度の3軸を書いて見ればいい
ZがXYのどこになるかは簡単な計算で出せる
紙に気に入った角度の3軸を書いて見ればいい
474デフォルトの名無しさん (ワッチョイ 7d17-RjUU)
2017/11/16(木) 18:49:26.46ID:rygh13wZ0 OpenTKでも使えば?
475デフォルトの名無しさん (アウアウエー Sa0a-5Bo2)
2017/11/16(木) 19:04:34.95ID:JEjgvNkla >>471
カメラの視線方向をZ軸、カメラから1000mm先のカメラの視線に垂直な平面上の1000mmの
線分がモニター上に1000mmで表示されるモデルを採用、3D、2Dともに同じ単位系(例えばmm)
を使用する条件なら、3D空間上の点(X, Y, Z)を2D上の点(x, y)に写像するには、
(x, y) = (X/Z, Y/Z)
でいいと思う。知らんけど
2DグラフィックのY軸が下向きなのを考慮するならyはもちろん-1倍する
カメラの視線方向をZ軸、カメラから1000mm先のカメラの視線に垂直な平面上の1000mmの
線分がモニター上に1000mmで表示されるモデルを採用、3D、2Dともに同じ単位系(例えばmm)
を使用する条件なら、3D空間上の点(X, Y, Z)を2D上の点(x, y)に写像するには、
(x, y) = (X/Z, Y/Z)
でいいと思う。知らんけど
2DグラフィックのY軸が下向きなのを考慮するならyはもちろん-1倍する
476デフォルトの名無しさん (アウアウエー Sa0a-5Bo2)
2017/11/16(木) 19:32:37.14ID:JEjgvNkla 描画面の中心を原点にする変換も必要かw
こっちはGraphicsの組み込みの機能でできるけど
こっちはGraphicsの組み込みの機能でできるけど
477デフォルトの名無しさん (ワッチョイ 4175-jqfw)
2017/11/16(木) 19:52:49.24ID:o+kP3k0v0478デフォルトの名無しさん (ワッチョイ 2de3-vU7N)
2017/11/16(木) 19:57:23.76ID:K+YFepCs0 そんな面倒なことしなくても
カメラ固定ならXYに足すだけでいいじゃん
Zが1ならXYに0.5ずつ足すみたいのでいいよ
Zが2ならXYに1ずつ足す
Zが3ならXYに1.5ずつ足す
みたいな
カメラ固定ならXYに足すだけでいいじゃん
Zが1ならXYに0.5ずつ足すみたいのでいいよ
Zが2ならXYに1ずつ足す
Zが3ならXYに1.5ずつ足す
みたいな
479デフォルトの名無しさん (ワッチョイ 6e9a-GXP8)
2017/11/16(木) 21:38:46.30ID:ac8ZDyBE0 >>469
URLが何故か張れないんだが
C#3D立方体ワイヤーフレーム (第1回) for VS2013 Express
でググって見つかるところが参考になる
ライブラリを期待しているのならC++で探すしかないだろうな
DLLになっていればC#からでも使えるから
URLが何故か張れないんだが
C#3D立方体ワイヤーフレーム (第1回) for VS2013 Express
でググって見つかるところが参考になる
ライブラリを期待しているのならC++で探すしかないだろうな
DLLになっていればC#からでも使えるから
480デフォルトの名無しさん (アウアウイー Sa91-dUYE)
2017/11/16(木) 22:56:01.22ID:851mScQ5a いくらなんでもopenGLライブラリはwinforms用ぐらいあると思う
windows forms openglでググれ
windows forms openglでググれ
481デフォルトの名無しさん (ワッチョイ 4175-jqfw)
2017/11/16(木) 23:02:09.93ID:o+kP3k0v0 >>474でもうでてる
482デフォルトの名無しさん (ワッチョイ 8de4-zZYI)
2017/11/16(木) 23:17:24.79ID:Tv1Vr9CT0 時間, 名前, テスト回数
2017/1/1, A氏, 3
2017/1/1, A氏, 4
2017/1/1, B氏, 1
2017/1/1, B氏, 2
2017/2/1, A氏, 1
2017/2/1, A氏, 2
2017/2/1, B氏, 1
2017/2/1, B氏, 2
2017/3/1, A氏, 1
2017/3/1, A氏, 2
2017/3/1, A氏, 3
↑のようなデータがある場合
↓のように名前ごとに最新の時間のデータを取得したい。
2017/3/1, A氏, 1
2017/3/1, A氏, 2
2017/3/1, A氏, 3
2017/2/1, B氏, 1
2017/2/1, B氏, 2
2017/1/1, A氏, 3
2017/1/1, A氏, 4
2017/1/1, B氏, 1
2017/1/1, B氏, 2
2017/2/1, A氏, 1
2017/2/1, A氏, 2
2017/2/1, B氏, 1
2017/2/1, B氏, 2
2017/3/1, A氏, 1
2017/3/1, A氏, 2
2017/3/1, A氏, 3
↑のようなデータがある場合
↓のように名前ごとに最新の時間のデータを取得したい。
2017/3/1, A氏, 1
2017/3/1, A氏, 2
2017/3/1, A氏, 3
2017/2/1, B氏, 1
2017/2/1, B氏, 2
483デフォルトの名無しさん (ワッチョイ 8de4-zZYI)
2017/11/16(木) 23:18:08.01ID:Tv1Vr9CT0 >>482
↓のような感じで取れるとは思いますが
実際のデータでは時間も名前も複数あるのでLINQで一発で取れる書き方はないでしょうか?
public class Test
{
public DateTime 時間 { get; set; }
public string 名前 { get; set; }
public int テスト回数 { get; set; }
}
List<Test> ListTest = new ListTest ();
var List1 = ListTest.Where(x=>x.名前 == "A氏" & x.時間 = 2017/3/1).ToList();
var List2 = ListTest.Where(x=>x.名前 == "B氏" & x.時間 = 2017/2/1).ToList();
List3.add(List1);
List3.add(List2);
↓のような感じで取れるとは思いますが
実際のデータでは時間も名前も複数あるのでLINQで一発で取れる書き方はないでしょうか?
public class Test
{
public DateTime 時間 { get; set; }
public string 名前 { get; set; }
public int テスト回数 { get; set; }
}
List<Test> ListTest = new ListTest ();
var List1 = ListTest.Where(x=>x.名前 == "A氏" & x.時間 = 2017/3/1).ToList();
var List2 = ListTest.Where(x=>x.名前 == "B氏" & x.時間 = 2017/2/1).ToList();
List3.add(List1);
List3.add(List2);
484デフォルトの名無しさん (ワッチョイ 4175-jqfw)
2017/11/16(木) 23:18:26.88ID:o+kP3k0v0 LINQの出番再び
485デフォルトの名無しさん (ワッチョイ 6e81-6i5E)
2017/11/16(木) 23:19:34.43ID:eJZERDUZ0 友の会スレに行け
486デフォルトの名無しさん (ワッチョイ 8de4-zZYI)
2017/11/16(木) 23:28:56.32ID:Tv1Vr9CT0 そんなこといわずに優しいレスくれよ
友の会ってどこなの?
友の会ってどこなの?
487デフォルトの名無しさん (ワッチョイ 4175-jqfw)
2017/11/16(木) 23:37:44.24ID:o+kP3k0v0 list.GroupBy(item=>item.名前).Select(group=>group.Max(item=>item.日時.Ticks)).ToList<Test>()
488デフォルトの名無しさん (ワッチョイ 4175-jqfw)
2017/11/16(木) 23:44:12.00ID:o+kP3k0v0 今試したらエラー吐いたけど参考にしてくれ
489デフォルトの名無しさん (ワッチョイ 8de4-zZYI)
2017/11/16(木) 23:44:38.82ID:Tv1Vr9CT0490デフォルトの名無しさん (ワッチョイ 9102-hYVS)
2017/11/17(金) 00:03:01.06ID:LOAPaCxV0 ListTest.GroupBy(item => item.名前).Select(group => group.Aggregate((max, item) => item.時間 > max.時間 ? item : max)).ToList()
491デフォルトの名無しさん (ワッチョイ 91e5-x/r4)
2017/11/17(金) 00:16:27.21ID:ZIvR54fI0 DateTimeオブジェクトはそれ自体に大小関係演算子使えるしな
492デフォルトの名無しさん (アウアウイー Sa91-dUYE)
2017/11/17(金) 00:34:17.30ID:xoZUoffUa どれも微妙に仕様から外れてるような…
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国側が首相答弁の撤回要求、日本側拒否★4 [夜のけいちゃん★]
- 中国の局長は「両手をポケット」で対峙 宣伝戦で国民に示す ★4 [蚤の市★]
- 中国側が首相答弁の撤回要求、日本側拒否★5 [夜のけいちゃん★]
- 「厚かましい挑発的発言だ」中国国連大使が高市首相発言に強く反発 日本の常任理事国入りに明確に反対 [ぐれ★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★6 [ぐれ★]
- 解体ごみ約2.3トンを山に不法投棄か トルコ国籍解体工を逮捕 埼玉 [どどん★]
- 【悲報】ファブル「━━━書かれた文面を読むだけの岸田と違って、高市は決断力や行動力があり、自分で責任を取れる。 [257926174]
- 【悲報】高市早苗さん、たった一人で日本を崩壊へ導く [714769305]
- 【悲報】「やったー!こだわりまくった洋館仕立ての家を建てたぞ!」➡「「離婚したんで住まずに売ります……」 [158478931]
- 【悲報】高市総理モノマネにとろサーモン久保田がブチギレ。「しょーもない。高市さんは頑張ろうとしてるやろ」😮 [518915984]
- 精神する時の🏡
- 【画像】日本のリン肥料、7割が中国だった!レアじゃないアースを禁輸されただけて餓死へ [347751896]
