ふらっと C#,C♯,C#(初心者用) Part135
■ このスレッドは過去ログ倉庫に格納されています
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part134
http://mevius.5ch.net/test/read.cgi/tech/1511951038/
■関連スレ
C#, C♯, C#相談室 Part95
http://mevius.5ch.net/test/read.cgi/tech/1508180530/
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■コードを貼る場合は↓を使いましょう。
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: default:vvvvv:1000:512:----: EXT was configured その二つの関数がなにかをチャンと明示してみな。できないことを証明してやる。 すまん、そのマーカーを除くためにもうひとつの関数がいる >>608
お前の考えてる処理仕様が明確につたわってこない
エスパー回答するならSkipWhile, TakeWhileの組み合わせで解ける 質問はエスパーじゃなくてもパーでも解る。
しかし回答はピッタシだ。スペル見ただけで解った。 direct2dの初期化などをc++のdllで行って画像をC#で表示したいんですが
ID2D1HwndRenderTargetのhwndをC#のコントロールのハンドルにすればC#で表示できますか? 以下のようなコードで、"date"が同じ日付のオブジェクトの"no"を合算するGROUP BY的な処理をLINQで書く事は出来るでしょうか?よろしくお願いします。
class hoge
{
public DateTime date { get; set; }
public int no { get; set; }
}
class Program
{
static void Main(string[] args)
{
var test = new hoge[] {
new hoge { date = DateTime.Parse("2018/02/20"), no = 10 },
new hoge { date = DateTime.Parse("2018/02/20"), no = 20 }
};
//期待する結果 date = "2018/02/20", no = 30
}
} そのものズバリGroupByあるだろが
目ついてんのか test.GroupBy(x=>x.date).Select(xs=>new Hoge{date=xs.Key, no=xs.Source.Sum(x=>x.no)})
var key=0;
var grList=new List<IGrouping<int,Hoge>>();
foreach(var x in test){ 教えたいただいたコードをちょっと変えて
var newtest = test.GroupBy(x => x.date).Select(xs => new hoge { date = xs.Key, no = xs.Sum(x => x.no) });
で期待する結果が出ました
LINQの書き方に慣れていないので参考になります
ありがとうございます >>631
ちなみにですが
xs.Source
部分はインテリセンスが候補として出して来ないので不要ですよね?
実は肝だったらと気になりまして >>635
昔から言われていることとは微妙に意味が変わってきているね
flag == false
は OK だが
flag == true
はやめろ!
ってやつじゃない?C では結構重要だ それってマクロを使ってた flag == TRUE の話じゃなかったっけ。 BOOL(intのtypedef)の話だな。flag == true は冗長であることを除けば何の問題もない。
あと、BOOLをTRUEと比較しちゃならんってのもFALSE(0)以外が真とみなされる文脈でのことで、
本当にTRUE(1)を求めているのであればそれと比較することに問題があるはずもない。 VBでのif thenのせいもあるのかなっと想像した if(min <= dt && dt <= max){
debug.print("left thing must be a minimum , right must be a maximum");
} all your base are belong to us かよw //HACK: This is The Golden Rule of indentation.
if (~) {
count++;
} else {
count = 0;
}
//ass:
if (~)
{
} String flag = "true";
if(flag)
{
}
こんなのを見たことあるw stringじゃなくてStringとか下らない
暇つぶしは否定しないけどもっとプログラマ的に刺激的なこと、それが無理ならせめて面白いこと書いてよ 初歩的な質問ですみません
例外で例えば「FileNotFoundException」が発生した場合に、catch文で、「FileNotFoundException」を文字列として取得するにはどうしたらいいでしょうか
エラーログ取得用です [] [[[ [[ [] ][ [] [ ] [] ][]] [[[ [] } e.GetType().Name とかじゃなかったっけ。 エラーログならむしろex.ToString()全部出したら良くない? >>651です
今はToStringで出してるんですが、行数節約の為にと思いまして。>>653で試してみます。
ありがとうございました 要件に対してオーバースペックなのを勧めるのは良くない傾向だと思うにゃ 最低限の手法を説明しつつ、若干オーバースペックな手法も説明して選択させるのが好き。
メリットデメリットもちゃんと説明する。
普段そうしてる。 n個の"hoge"が入っている配列を作りたいんだけど、
Enumerable.Range(1,n).Select(i => new{"hoge"}).ToArray()
で良いのかな? ラムダ見るといつも頭混乱するんだけどこれって見やすいの? クエリ式の方が苦手
ラムダだとIntelliSenseでスペルミス防げるじゃん 個人的にはラムダは抵抗なく読める
Pythonの内包表記は苦手 >>663
見やすいと思うが個人差あるな
ただまあλの利点って見やすさじゃないからな >>661
Enumerable.Repeat("hoge", n).ToArray() じゃいかんのか ラムダは過去に一度滅んだ技術だからな。普及するわけがない。 >>670
それじゃ初心者相手にマウンティングできないだろ EFでList<string>のデータを保存するにはどうしたらいいの? >>672
え?滅んだんですか?何の技術だったんですか? >>676
おまえ、初心者丸出しに気づいてないの恥ずかしいな >>678
滅んだ、というのなら、それは何の技術だったのか説明していただけませんか? ただラムダ式が苦手なだけな奴の見苦しい言い訳に構うなよ w >>680-682
スレチだからこっちでやってくれませんか。
過疎ってるからって初心者スレで暴れないでくださいよ、低脳馬鹿ラムダ厨さん。
λ ラムダ式は神 ラムダ式を崇めよ λ [無断転載禁止]©2ch.net
https://mevius.2ch.net/test/read.cgi/tech/1494867168/ 古典教師とラムダ厨と被るわ。
役に立たない古い知識で初心者スレでマウンティングとか。→ ID:n9Q43L/40 www C#の例外処理スレを立てたらここはスレチになるのか w
ほんとラムダ式嫌悪厨は哀れだな w >>683
C# にラムダ式はあるのにどうしてスレ違いなんでしょうか? LINQスレあったよな。なぜそっちでやらないの?
あっ落ちたのかw 過疎りすぎて誰も次は立てる気がないようだw
だって10年でたった1スレすら消費できなかったからなwww 誰も興味ないかよほど嫌われてんだなw >>687
C# に LINQ はがっちり含まれているのに、どうしてスレ違いなんでしょうか? ID:n9Q43L/40 ←惨め杉www 初心者スレでマウンティングするしかないww
> リンク否定派==ラムダ式嫌悪厨
> ただラムダ式が苦手なだけな奴の見苦しい言い訳に構うなよ w
> おまえ、初心者丸出しに気づいてないの恥ずかしいな
> ほんとラムダ式嫌悪厨は哀れだな w
ほんとこいつ初心者スレで煽りとマウンティングしかしてねぇw byte[]buf = 1,2,3,4,5、ETX,7,8,9
AX=1,2,3,4,5
BX=ETX,7,8,9
BufからAX,BXをわけて取り出ししたい。(ETXはAX側でもBX側でも構わない)
AX=buf..TakeWhile(x=>x!=ETX);
とすれば取り込めるが、BXはどうしたらいいのだろう? SkiPWhileは違う。ETXで分離するのが目的だからだ。 >おまえ、初心者丸出しに気づいてないの恥ずかしいな
初心者丸出しが恥ずかしいことか? 陳湖丸出しとは分けが違うがお前はそういう趣味でもあるのか?
>C# にラムダ式はあるのにどうしてスレ違いなんでしょうか?
主観の問題だ。しかし感受性の問題でもある。ひらたく言うとどこにも頭の悪いのはいる。
>古い?どうして古いのでしょうか?
主観の問題だ。少しズレた主観もある。
>C# に LINQ はがっちり含まれているのに、どうしてスレ違いなんでしょうか?
しつこい質問者だからあえてシツコク答えるが主観の問題だ。しかしシツコク追い求めるのはプログラマーの適正でもある。 >>687
なぁ、いい加減誰も使って無いって気づいて欲しいぜ >>696
オブラートで包むと意味が解らないか? 解るようにハッキリ言うと荒れるしな。
困ったものだ。
SkiPWhileじゃだめってのはわかるか? このスレってリンクの質問ばっかだろ
なんで使われてないと思うのか謎
もしかして全員同じ人と思ってるの? だって10年で1スレ消費できないってかなりのもんだよ
まあ、友の会スレに書き込んで無かった君が一番わかってることだと思うし言っても無意味だと思うけどw 試しにC#非同期スレ立ててみようぜ w
どうせ伸びないから w
みんな使ってないもんな w # 先頭文字で、配列の要素をグルーピング
animals = ["cat", "bat", "bear", "camel", "alpaca"]
p animals.group_by {|item| item[0].chr }
{"a"=>["alpaca"], "b"=>["bat", "bear"], "c"=>["cat", "camel"]}
Ruby では、group_by で、配列の要素をグルーピングできる。
ブロックの戻り値が同じ要素で、グルーピングする
他にも、partition で、要素を2つの配列に分けられる C#でもできる
partionはないが多分GroupByで代用できる じゃあGroupBy使って
byte[]buf = 1,2,3,4,5、ETX,7,8,9
をETXの前後で分解してみて。 ■ このスレッドは過去ログ倉庫に格納されています