X



ふらっと C#,C♯,C#(初心者用) Part135
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん (ワッチョイ 8b75-uWnk)
垢版 |
2018/02/04(日) 22:02:28.59ID:FbKpa1HN0
「どんなにくだらない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
0664デフォルトの名無しさん (ワッチョイ 2175-xOks)
垢版 |
2018/02/22(木) 20:44:44.31ID:c2upgmLY0
for, foreachも見にくい
0667デフォルトの名無しさん (ワッチョイ 2175-xOks)
垢版 |
2018/02/22(木) 21:23:11.48ID:c2upgmLY0
個人的にはラムダは抵抗なく読める
Pythonの内包表記は苦手
0671デフォルトの名無しさん (ワッチョイ 2175-xOks)
垢版 |
2018/02/23(金) 08:15:24.95ID:n9Q43L/40
リンク否定派==ラムダ式嫌悪厨
0672デフォルトの名無しさん (ワッチョイ fc83-MTlB)
垢版 |
2018/02/23(金) 11:21:56.45ID:xR1rHjlT0
ラムダは過去に一度滅んだ技術だからな。普及するわけがない。
0675デフォルトの名無しさん (ワッチョイ fd9e-POFq)
垢版 |
2018/02/23(金) 11:56:12.27ID:dqKzXa4r0
EFでList<string>のデータを保存するにはどうしたらいいの?
0676デフォルトの名無しさん (ワッチョイ 709d-POFq)
垢版 |
2018/02/23(金) 13:43:16.80ID:HedUeMcC0
その前にEFってなにか説明してくれるか?
0678デフォルトの名無しさん (ワッチョイ fc83-MTlB)
垢版 |
2018/02/23(金) 14:31:57.61ID:xR1rHjlT0
>>677 ←今日最高の馬鹿。
0679デフォルトの名無しさん (ワッチョイ 2175-xOks)
垢版 |
2018/02/23(金) 15:28:51.28ID:n9Q43L/40
>>676
おまえ、初心者丸出しに気づいてないの恥ずかしいな
0681デフォルトの名無しさん (ワッチョイ 2175-xOks)
垢版 |
2018/02/23(金) 15:34:34.35ID:n9Q43L/40
ただラムダ式が苦手なだけな奴の見苦しい言い訳に構うなよ w
0683デフォルトの名無しさん (ワッチョイ fc83-MTlB)
垢版 |
2018/02/23(金) 16:10:34.36ID:xR1rHjlT0
>>680-682
スレチだからこっちでやってくれませんか。
過疎ってるからって初心者スレで暴れないでくださいよ、低脳馬鹿ラムダ厨さん。

λ ラムダ式は神 ラムダ式を崇めよ λ [無断転載禁止]©2ch.net
https://mevius.2ch.net/test/read.cgi/tech/1494867168/
0684デフォルトの名無しさん (ワッチョイ fc83-MTlB)
垢版 |
2018/02/23(金) 16:14:19.23ID:xR1rHjlT0
古典教師とラムダ厨と被るわ。

役に立たない古い知識で初心者スレでマウンティングとか。→ ID:n9Q43L/40 www
0685デフォルトの名無しさん (ワッチョイ 2175-42by)
垢版 |
2018/02/23(金) 16:14:40.70ID:n9Q43L/40
C#の例外処理スレを立てたらここはスレチになるのか w
ほんとラムダ式嫌悪厨は哀れだな w
0687デフォルトの名無しさん (ワッチョイ fc83-MTlB)
垢版 |
2018/02/23(金) 16:23:25.22ID:xR1rHjlT0
LINQスレあったよな。なぜそっちでやらないの?
あっ落ちたのかw 過疎りすぎて誰も次は立てる気がないようだw

だって10年でたった1スレすら消費できなかったからなwww 誰も興味ないかよほど嫌われてんだなw
0690デフォルトの名無しさん (ワッチョイ fc83-MTlB)
垢版 |
2018/02/23(金) 16:27:53.73ID:xR1rHjlT0
ID:n9Q43L/40 ←惨め杉www 初心者スレでマウンティングするしかないww

> リンク否定派==ラムダ式嫌悪厨
> ただラムダ式が苦手なだけな奴の見苦しい言い訳に構うなよ w
> おまえ、初心者丸出しに気づいてないの恥ずかしいな
> ほんとラムダ式嫌悪厨は哀れだな w

ほんとこいつ初心者スレで煽りとマウンティングしかしてねぇw
0691デフォルトの名無しさん (ワッチョイ 2175-42by)
垢版 |
2018/02/23(金) 16:27:53.99ID:n9Q43L/40
なにこいつ
0692デフォルトの名無しさん (ワッチョイ 709d-POFq)
垢版 |
2018/02/23(金) 16:42:11.85ID:HedUeMcC0
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はどうしたらいいのだろう?
0693デフォルトの名無しさん (ワッチョイ 2175-42by)
垢版 |
2018/02/23(金) 16:50:56.55ID:n9Q43L/40
SkipWhile
0694デフォルトの名無しさん (ワッチョイ 709d-POFq)
垢版 |
2018/02/23(金) 16:56:26.65ID:HedUeMcC0
SkiPWhileは違う。ETXで分離するのが目的だからだ。
0695デフォルトの名無しさん (ワッチョイ 709d-POFq)
垢版 |
2018/02/23(金) 16:56:39.74ID:HedUeMcC0
>おまえ、初心者丸出しに気づいてないの恥ずかしいな
初心者丸出しが恥ずかしいことか? 陳湖丸出しとは分けが違うがお前はそういう趣味でもあるのか?

>C# にラムダ式はあるのにどうしてスレ違いなんでしょうか?
主観の問題だ。しかし感受性の問題でもある。ひらたく言うとどこにも頭の悪いのはいる。

>古い?どうして古いのでしょうか?
主観の問題だ。少しズレた主観もある。

>C# に LINQ はがっちり含まれているのに、どうしてスレ違いなんでしょうか?
しつこい質問者だからあえてシツコク答えるが主観の問題だ。しかしシツコク追い求めるのはプログラマーの適正でもある。
0696デフォルトの名無しさん (ワッチョイ 2175-42by)
垢版 |
2018/02/23(金) 16:59:23.35ID:n9Q43L/40
なにこいつ
自演かよ w
0698デフォルトの名無しさん (ワッチョイ 709d-POFq)
垢版 |
2018/02/23(金) 17:07:21.06ID:HedUeMcC0
>>696 
オブラートで包むと意味が解らないか? 解るようにハッキリ言うと荒れるしな。
困ったものだ。
SkiPWhileじゃだめってのはわかるか?
0701デフォルトの名無しさん (ワッチョイ c4e3-/K1Y)
垢版 |
2018/02/23(金) 17:14:54.58ID:dt6qd38x0
だって10年で1スレ消費できないってかなりのもんだよ
まあ、友の会スレに書き込んで無かった君が一番わかってることだと思うし言っても無意味だと思うけどw
0704デフォルトの名無しさん (ワッチョイ 2175-42by)
垢版 |
2018/02/23(金) 17:17:31.24ID:n9Q43L/40
試しにC#非同期スレ立ててみようぜ w
どうせ伸びないから w
みんな使ってないもんな w
0705デフォルトの名無しさん (ワッチョイ 0a80-IMbs)
垢版 |
2018/02/23(金) 17:18:24.48ID:uDoJo6b+0
# 先頭文字で、配列の要素をグルーピング
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つの配列に分けられる
0707デフォルトの名無しさん (ワッチョイ 2175-42by)
垢版 |
2018/02/23(金) 17:20:15.65ID:n9Q43L/40
C#でもできる
partionはないが多分GroupByで代用できる
0708デフォルトの名無しさん (ワッチョイ 709d-POFq)
垢版 |
2018/02/23(金) 17:30:54.68ID:HedUeMcC0
じゃあGroupBy使って
byte[]buf = 1,2,3,4,5、ETX,7,8,9
をETXの前後で分解してみて。
0709デフォルトの名無しさん (ワッチョイ 2175-42by)
垢版 |
2018/02/23(金) 17:31:48.42ID:n9Q43L/40
使用法が明らかに間違ってる
0710デフォルトの名無しさん (ワッチョイ 709d-POFq)
垢版 |
2018/02/23(金) 17:37:08.15ID:HedUeMcC0
でも分解する場合には他に適当な方法がないのでは? GroupByとIndexを併用すれば
なんとかならないか?
0711デフォルトの名無しさん (ワッチョイ 2175-42by)
垢版 |
2018/02/23(金) 17:38:45.30ID:n9Q43L/40
明らかにそんなやり方よりTakeWhile, SkipWhileを使うやり方のほうが真っ当
0712デフォルトの名無しさん (ワッチョイ 709d-POFq)
垢版 |
2018/02/23(金) 17:48:52.71ID:HedUeMcC0
>明らかにそんなやり方よりTakeWhile, SkipWhileを使うやり方のほうが真っ当

不味いんじゃないだろうか?
要するにループを頭から2回まわすことになるだろ。
Ax=  buf.TakeWhile(〜)
Bx= buf.SkipWHile(~)

それならForeachの方がいいとおもう。
AX= ETXを見つけるまでこっちに入れる。
BX=ETXを見つけた以後はこっちに入れる。
0713デフォルトの名無しさん (ワッチョイ 2175-42by)
垢版 |
2018/02/23(金) 17:50:19.68ID:n9Q43L/40
効率が問題になるほど大規模なリストなら原始的な書き方をする。
そうでないならLinqでいい
0719デフォルトの名無しさん (ワッチョイ 709d-POFq)
垢版 |
2018/02/23(金) 18:46:00.97ID:HedUeMcC0
>>718
いいね!いいね! そのヒント。 君が一番頭いい。
0722デフォルトの名無しさん (ワッチョイ 2175-xOks)
垢版 |
2018/02/23(金) 19:01:32.01ID:n9Q43L/40
Spanとかもあるよな
使えるのか知らないけど
0723705 (ワッチョイ 0a80-IMbs)
垢版 |
2018/02/23(金) 19:03:45.51ID:uDoJo6b+0
scores = %w[1 2 3 4 5 ETX 7 8 9]

numbers = scores.each_with_object({}) do | num, h |
# 配列の初期化
h[:before] = [] unless h[:before]
h[:after] = [] unless h[:after]

if h[:ETX]
h[:after].push num
else
if num == "ETX"
h[:ETX] = true
else
h[:before].push num
end
end
end

p numbers
{:before=>["1", "2", "3", "4", "5"], :after=>["7", "8", "9"], :ETX=>true}

Ruby の、each_with_index メソッドは、引数に蓄積器を指定して、繰り返し処理する。
空のハッシュ { }に、結果を蓄積していく。
"ETX"があったかどうかの状態を記憶して、処理を分岐する
0724デフォルトの名無しさん (ワッチョイ 2175-xOks)
垢版 |
2018/02/23(金) 19:05:18.26ID:n9Q43L/40
よく分からんけどaggregateでできそう
0725705 (ワッチョイ 0a80-IMbs)
垢版 |
2018/02/23(金) 19:06:59.32ID:uDoJo6b+0
>>723
修正

>Ruby の、each_with_index メソッドは、引数に蓄積器を指定して、繰り返し処理する

each_with_index ではなく、each_with_object
0727デフォルトの名無しさん (ワッチョイ 709d-POFq)
垢版 |
2018/02/23(金) 19:41:12.35ID:HedUeMcC0
flag = x < etx
これってETX以前はTrueになる? たぶんそういう意図だろうけど
xはindexだろけど、etxと比較しても駄目って思うが、、、
0732デフォルトの名無しさん (ワッチョイ 2175-xOks)
垢版 |
2018/02/23(金) 20:12:36.02ID:n9Q43L/40
レス乞食かよ
0734デフォルトの名無しさん (ワンミングク MM0e-2hJC)
垢版 |
2018/02/23(金) 21:00:10.84ID:RXlM4aNHM
イテレーター書くだけだから逆に移植しやすくなる
抽象化レイヤーがないと全てのループ処理について移植できるかどうか
移植するにはどうすればいいか
例外ケースはないかなど悩まなくてはならない
0737デフォルトの名無しさん (ワッチョイ 8b8a-YGTY)
垢版 |
2018/02/23(金) 21:47:11.90ID:HTtnUDjj0
日曜大工プログラマーなんだけど、実際Linq使わないってなるとプロの方はどういうことを基本としてるの?
プロの方々なら当然Linqも理解して手段の一つとして持ってると思うけど
あえてそれは使わないってなると、同じこと実現するのに何が基本となるのかまじめに教えてください
0739デフォルトの名無しさん (アウアウカー Sa0a-V3L7)
垢版 |
2018/02/23(金) 22:02:51.89ID:I1cwUeCia
>>737
察してw
0741デフォルトの名無しさん (ワッチョイ e206-MTlB)
垢版 |
2018/02/23(金) 22:51:27.85ID:xGnoN5r+0
LINQなんて銘打たれてても只のパターンだからねぇ
デリゲートがインライン展開されるならまだしも
switchまみれのIEnumerator<T>とかは草生える

どうせコントロール追加もAddよりAddRangeの方が良いし
概ねArrayやList<T>のメソッドで済む事が多いな
あと拡張メソッド多すぎでIntelliSenseの邪魔、フィルタが面倒
0742デフォルトの名無しさん (ワッチョイ 2175-42by)
垢版 |
2018/02/23(金) 22:57:32.27ID:n9Q43L/40
効率はすでに言った通りだからともかくとして、このスレのlinqの質問のほとんどはarrayやlistのメソッドでは事足りないだろう
0745デフォルトの名無しさん (ワッチョイ 0ac9-x4Or)
垢版 |
2018/02/24(土) 09:13:57.78ID:Pu6BYc+K0
LINQとか表記は割りとどうでも良いからユニットテストがきちんと書けるソースコードにして欲しいと、200行超えの他人のクソメソッドをメンテしてて思った
リファクタリング楽しいです(^q^)
0746デフォルトの名無しさん (ワッチョイ 2175-xOks)
垢版 |
2018/02/24(土) 09:20:58.48ID:QPTXris90
スレチ
0747デフォルトの名無しさん (ワッチョイ 709d-saxG)
垢版 |
2018/02/24(土) 19:03:52.84ID:53z7t7hD0
Span実験してみたい。しかしSystem.Memoryインストールに失敗する。何でだろう?
0749デフォルトの名無しさん (ワッチョイ 8b8a-YGTY)
垢版 |
2018/02/24(土) 20:04:36.63ID:+6d6qq1k0
素人ながらに四苦八苦しながら小規模の業務アプリを作っているのですが
Program.csに、アプリケーションに保持させておきたい情報をまとめた自作クラスを
staticで保持させておいて、全フォーム通してそれを読み出せるのかと考えたのですが
愚行でしょうか?
0751デフォルトの名無しさん (アウアウエー Sa6a-Xk4Z)
垢版 |
2018/02/24(土) 20:14:50.00ID:S6y2USoia
>>749
本当にその必要があるならその方法でグローバルな情報を持ってOKだと思う。
前に同じ質問で「そんなものコンストラクタの引数で渡せ」と書いてた人がいたが、
むしろそっちの方が不適切。

でも、本当にそれが必要なのかは再考した方がいいかもね。
グローバルなデータなんて普通はそんなにいらないよ

>>750
だからそれを聞いてるんでしょw
っていうかヘッダファイルって意味不明だよww
0754デフォルトの名無しさん (アウアウカー Sa0a-V3L7)
垢版 |
2018/02/24(土) 21:28:23.83ID:kaoxpwmua
質問よろしいでしょうか
ある複数のパラメータを持ったクラスを他のクラスのメンバに代入すると、そのパラメータが変更されたら代入先のメンバも書き変わってしまいますよね?
一度代入した時点から勝手に書き変わられたくない場合、パラメータを持ったクラスがクローンを返すような実装をするのがいいんでしょうか。他に定石等あれば教えて頂きたいです
0755デフォルトの名無しさん (ワッチョイ 8b8a-YGTY)
垢版 |
2018/02/24(土) 21:48:34.45ID:+6d6qq1k0
みなさまご教授ありがとうございます

グローバルを持つべきか再度よく検討の上やってみたいと思います

>>752
自作クラスだと一手間いるのと、修正しやすさでProgram.csに置きたいなと
0756デフォルトの名無しさん (ワッチョイ 2175-42by)
垢版 |
2018/02/24(土) 21:53:04.14ID:QPTXris90
ApplicationSettingsは自作クラスじゃなくてVSのきのうだよ
0757デフォルトの名無しさん (ワッチョイ 8b8a-YGTY)
垢版 |
2018/02/24(土) 21:54:11.29ID:+6d6qq1k0
>>753
端末のIPやらMacアドレスのほか、データベースへの接続文字列を実行中に随時切り替えて接続させてるのですが
そのためのList<string>とかです
あとはNotifyIconをおいて、アプリの動作状況によって各Form上からも通知アイコンの画像を変更させてます
0762デフォルトの名無しさん (ワッチョイ c4e3-o9L9)
垢版 |
2018/02/25(日) 07:44:13.77ID:r9nYZ4dr0
>>754
メンバに参照を保持るのは禁じ手

そのインスタンスが死んだらハングアップすんじゃん
必要であるたびにメソッドの引数から必要な分だけ必要な形で渡すのが真っ当なやり方
0763デフォルトの名無しさん (ワッチョイ a49f-QP7I)
垢版 |
2018/02/25(日) 07:52:39.23ID:JzRpHb2B0
>>755
そのファイルにクラスおいた方が楽って感覚がわからないな
1クラス1ファイルが基本だし別のファイルおいた方が色々楽だと思うけど
まさかないと思うけどpublicなインナークラスにするのはよくないから気をつけてね
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況