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

■ このスレッドは過去ログ倉庫に格納されています
2018/03/03(土) 15:09:05.75ID:SBEkwl3H
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

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

■関連スレ
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/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part135
http://mevius.5ch.net/test/read.cgi/tech/1517749348/

■コードを貼る場合は↓を使いましょう。
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
2018/03/19(月) 14:40:08.64ID:qo8Tft6w
あ、+++だたw
314デフォルトの名無しさん
垢版 |
2018/03/19(月) 14:57:45.70ID:74Z4r7y/
>>312 それどうやるのさ?
x=21日前の価格
i =7日後の価格 

x-i=[14] // 21日前の価格-14日前の価格
x-i*2=[7] //14日前の価格-7日前の価格
x-i*3= [x >1] ??? //7日前の価格-現在の価格 

x軸の価格が1未満?そもそも株の価格が底値になるってのは0でいいのか?
なら底値=0 だから1未満にすればいいのか?
315デフォルトの名無しさん
垢版 |
2018/03/19(月) 15:06:09.56ID:74Z4r7y/
x-(i*3)>1 か わかんねーw
316デフォルトの名無しさん
垢版 |
2018/03/19(月) 15:39:22.39ID:qu0U5IXL
どっかにあったスクリプトをコピペして、自分のやりたいように改良したいんだろうけどさ
そう言うのはクラウドソーシングかどこかでお金を払ってやってもらったら良いんじゃないかな、話さえきちんと伝えられれば大してお金もかからないでしょう
C#を勉強中の人の邪魔にならないだけでなく、初心者の小遣い稼ぎにもなるだろうし、あなたもちゃんとしたプログラムが手に入る、良いことづくめだよ
317デフォルトの名無しさん
垢版 |
2018/03/19(月) 15:44:50.75ID:74Z4r7y/
>>316  ま、そうだよね これで商売してる人いるんだわ
知恵○でぶくったら重回帰分析だのモンテカルロ・シュミレーションだの難しいこと知ってる人いたわ
キャリア積まないとわかんない話だってことは理解した さんくす
2018/03/19(月) 19:49:40.93ID:ukVABN43
たぶん何も理解してないとみた
319デフォルトの名無しさん
垢版 |
2018/03/19(月) 19:59:31.14ID:I0s4BSGD
>>311
作ってあげようか? 
もとになるデータは何処からとりだしてくるの? 
チャンとしたソフトにするには80hくらいはかかるんじゃないだろうか?
その程度の費用で。
2018/03/19(月) 19:59:46.65ID:DSOIiGwJ
何も理解していなくてもスレ的にはいいけど、仕様・設計の段階で来られてもどの言語スレでもスレ違い
2018/03/19(月) 21:43:11.78ID:oS5ZVaWO
>>311
「週足のダウン」をどう定義するのか知らんが
仮に陰線ならダウンってことにすると、週ごとの始値・終値を比較して
値上がりしてるなら0、値下がりしてるなら1とすれば
3週間なら[0, 1, 1]みたいな配列ができる
[1, 1, 1]になってれば連続3回ダウン
(>>312の内容と意味は同じ)

プログラミングは難しそうだからExcelスレをオススメする
2018/03/19(月) 22:16:33.20ID:cxVTwmnS
>>311
プログラミングの基本は分割統治。

まず落ち着いて、

(1) 〇足(週足、日足、n時間足...)のローソクを表すCandle型を定義する
(2) 任意の期間の時系列の株価データを受け取って、その期間の〇足のCandleの配列を返すメソッドを書く

ここまで出来たら後は簡単でしょ
2018/03/19(月) 22:57:58.05ID:csFbH6Mx
C# なんて難しい。
Ruby の、chunk_while でグルーピングできる

# 終値が減少部分だけの、配列に分ける。
numbers = [100, 50, 70, 70, 60, 55, 65, 45, 40, 30, 20, 25]

results = numbers.chunk_while { |prev, num| prev > num }
.select { |ary| ary.length >= 3 }

p results #=> [[70, 60, 55], [65, 45, 40, 30, 20]]
2018/03/19(月) 23:03:11.50ID:URbJ5Q30
chunk_whileはNugetに落ちてそう
2018/03/19(月) 23:05:04.51ID:dKLVd5g6
ここで聞くべきかわからないんだがiis+asp.netで webapi作ったとして
リクエストをサーバーで処理してレスポンスをクライアントに返して届かなかった場合にaspでその失敗ってわかる?
2018/03/19(月) 23:33:49.94ID:CLhJZa33
すみません、どなたかにお聞きしたいのですが
intやshortのような整数型同士のキャストはどのくらいの負荷があるんでしょうか?

出来る限りメモリを切り詰めたいので常に最小の整数型を使っているのですけど
計算や引数を渡す過程で頻繁にキャストを書かなければいけないのはどうなのかなと思いまして
2018/03/19(月) 23:49:28.14ID:yTa9+1wL
>>326
気にしなくて良き。負荷気にするには数年速いわ
2018/03/19(月) 23:51:19.72ID:yZrCIvE9
>>326
大体の場合負荷は限りなく低い
でも局面によって違うから自分で試す以外答えはでない

普通に作ったのと切り詰めたのを比べるといい
DateTime.Nowの値を保存しておいて差分でどのくらい時間がかかるか見る

差が小さすぎるなら何万回もループさせて差分を見る
2018/03/19(月) 23:53:36.83ID:cxVTwmnS
>>326
もうPC-98の時代じゃないんだからw
2018/03/19(月) 23:55:45.93ID:6h1rUneg
>>326
データをストックする場所を最小にしたいのならともかく計算の過程で頻繁にキャストしていたらムダでしかない
キャストのコストが0でも保守が面倒になるだけ
2018/03/19(月) 23:57:09.07ID:glrdUuh3
>数年速いわ
音速の貴公子と言うより天文学レベルカー

と、微妙なtypoが何故か気になった
2018/03/20(火) 00:00:01.48ID:cgEg6Dwj
つーか、整数のキャストなんてHWが自動でやってくれない時代だって
符合拡張するか上位バイトを捨てるだけだよw
2018/03/20(火) 00:04:07.89ID:qVb9KqM8
4バイト整数に、1バイト型を4つ詰め込んだりするのは、組み込みC とか

GC もある、C# でやるだけ、ムダ! ムダ! ムダ!
2018/03/20(火) 00:08:35.20ID:iiZhLnn/
単純な話で32bitCPUで動いているとすると計算の基本単位が32bitなんだから
コンパイラ上で16bitに切り詰めて計算したところで意味がない
メソッドの引数でメモリの節約とかの発想なら根本的に間違い
2018/03/20(火) 00:21:28.36ID:yw1jUUMF
>>325
TCPなんだから届かなかったら確実にエラーになるよ
336デフォルトの名無しさん
垢版 |
2018/03/20(火) 10:30:10.37ID:uUCQMwFd
>>326
メモリを切り詰めるために最小の整数値にしても
32ビットだと32ビット単位のほうが効率的だから
コンパイラがパディングを詰めて32ビット単位にしてしまうから無駄だよ

組み込みなら話は別かもしれんが
337デフォルトの名無しさん
垢版 |
2018/03/20(火) 17:23:02.62ID:Cboi/qMX
もしかして、boolとかもintにしたら2倍早くなるのかな?

bool b = true; //1bit分メモリ確保
if(b){}//メモリから読み出され、論理演算を2回を挟み、trueと比較

int i = 1; //32bit分メモリ確保
if(i==1){}//メモリから読み出されたら、そのままtrueと比較
2018/03/20(火) 17:41:09.07ID:VwQ1GHDU
boolはビットフィールドじゃないってw
論理演算なんか入りませんw

x86の機械語知らんけど、普通に考えればboolの評価は変数の値がゼロかどうかだけだが、
intの==演算子はコンペアが入るから、そっちの方が遅いことはあっても早いことはありえない
339デフォルトの名無しさん
垢版 |
2018/03/20(火) 17:58:42.62ID:Cboi/qMX
でも32bitなりなんなりの単位で読み出されて、ビット演算無しでどうやって取り出すんでしょう
2018/03/20(火) 18:38:01.62ID:xhlF0RWj
boolは1byteだよ
341デフォルトの名無しさん
垢版 |
2018/03/20(火) 19:59:58.73ID:FFuoeUFR
>>340
>>336
2018/03/20(火) 20:28:46.02ID:u8SMuE25
確認用
https://ideone.com/9rHKqz
2018/03/20(火) 20:35:28.68ID:mQ4Ew50n
なんでアンマネージ型の話を始めたの?ガイジだから?
2018/03/20(火) 20:42:56.66ID:FWy6f5Yk
>>341
StructでPack指定すればパディング詰めない
2018/03/20(火) 23:14:52.88ID:QgeO599U
その手の話をするなら、とりあえずILとスタックを確認できるようになってから
可能ならRyuJITで吐かれるアセンブラまで見るべき
2018/03/20(火) 23:53:34.58ID:97GClaUH
sizeofが1で出てるものを勝手に変えたりするものなのか?
2018/03/21(水) 00:01:57.15ID:1NDr7Usm
-1から1の範囲を分岐無しでビットに詰めるのってどうやるんだっけ?
aabb ccddみたく4つの数値を1byteに詰める小技を昔見た気がするが思い出せない
2018/03/21(水) 00:06:22.20ID:wxFTzoek
64bit-CPU なら、8バイトしか無い。
1〜7バイトなんて無い。
使わない部分を、0 and で、マスクするだけ

並列処理で、4 + 4バイトとして使うとか、そういう命令はある
2018/03/21(水) 00:18:19.45ID:h+WMGZtb
>>347
何言ってるのかよくわかんないw
分岐って何だw
2018/03/21(水) 00:19:59.34ID:mIV9xLj7
>>348
俺はそこまで詳しくしらんが普通にあると思うが。
64ビットレジスタを普通に32ビットのEAX,EBX,ECX,EDXなどとしてアクセスできるし。
http://www.zombie-hunting-club.com/entry/2017/10/15/220724
2018/03/21(水) 00:28:21.39ID:mIV9xLj7
それともアドレッシングの話か?
あれアドレッシングってどうなってんだっけか。
SP(スタックポインタ)レジスタとかって64bitCPUなら8バイト単位になるんだけっか?
2018/03/21(水) 00:30:36.35ID:1NDr7Usm
>>349
// aabb 0000
bit |= (a == -1)? 0x80: (a == 1)? 0x40: 0;
bit |= (b == -1)? 0x20: (b == 1)? 0x10: 0;

こうやるのは簡単なんだよ
これを三項演算を使わずビット演算だけでやる方法があるはずなんだよ
入れる方はシフトしてマスクすれば出来そうだが取り出す方法がまるで思い出せん
2018/03/21(水) 00:39:01.74ID:ElQ36cp9
また一円の得にもならんことを
2018/03/21(水) 00:42:35.73ID:fRVIOADe
>>352
マスクしてシフトするだけだろ
2018/03/21(水) 00:52:49.07ID:h+WMGZtb
>>352
-1を0b10じゃなく0b11に割り当てれば>>354の言う通りだね
2018/03/21(水) 01:00:25.75ID:wxFTzoek
>>350
>64ビットレジスタを普通に、32ビットのEAX,EBX,ECX,EDXなどとしてアクセスできる
8バイトよりも小さい用途には、マスクして使っているだけ

実際に、8バイトよりも小さいレジスタを作るのは、場所・回路のムダ。
しかも統一的に扱えないから、ややこしいし、通信するのにも時間が掛かる
2018/03/21(水) 02:21:45.49ID:dRxp3KxC
>>354-355
ちょっと書いてみてくれよ
俺がやるとキャストの乱れ打ちにしかならん
2018/03/21(水) 03:55:37.74ID:wxFTzoek
bit shift で、bitの桁をずらせば?
2018/03/21(水) 04:02:03.10ID:AUzNmz0G
ALレジスタ「・・・」
360デフォルトの名無しさん
垢版 |
2018/03/21(水) 05:26:14.92ID:w6+mXCSB
byte bit = (byte)(((a & 0x3) << 6) | ((b & 0x3) << 4) | ((c & 0x3)<< 2) | (d & 0x3));
2018/03/21(水) 11:03:58.94ID:6oHAbJm9
1. 「確かな力が身につくC#「超」入門」

を勉強し終えて

2. 「独習C# 新版」

を読み始めたんだけど、この本厚すぎて通読には分量有りすぎる・・・。
1を読み終えてもう少しレベルアップしたい人におすすめな薄めの本ってありませんか?
2018/03/21(水) 11:17:28.93ID:ElQ36cp9
もう十分だよ
さっさとモノ作れよ
2018/03/21(水) 11:21:15.82ID:ElQ36cp9
勉強という言い訳でいくらでも足踏みできるから
ノロノロしてるとそれだけで終わっちまうぞ
時間かけた割には何にも身についてなかったりする
経験と知識のバランスが大事だ
一つ本読んだらせめて一つはプログラム作れよ
2018/03/21(水) 11:21:24.54ID:04sPI9mV
いや一生本読んでいればいいよ
自由度の高い分野で「レベルアップしたい人におすすめな薄めの本」ってもう発想が「楽してレベルアップ」で無理だから
365デフォルトの名無しさん
垢版 |
2018/03/21(水) 11:37:51.55ID:0twXSax5
言語が趣味なんだろ
2018/03/21(水) 12:07:16.84ID:8gJoz83s
言語仕様だけ知ってても実力は上がらない
でもやみくもに手を動かしても得られるものは少ない

c#向けじゃないけど昔は脱初心者レベルのソフトを作りながら学べる本があったけど
今はそういった需要は薄いのかあまり見かけない
初級者と上級者の差を埋める本大事だと思うけど

プログラマー的思考を身に着けるために
初歩のアルゴリズム系の本でもじっくり読んで将来に備えよう
2018/03/21(水) 12:07:22.75ID:ElQ36cp9
>>365
言語博士とか
使えない奴筆頭だな
2018/03/21(水) 12:09:17.71ID:ElQ36cp9
>>366
闇雲に動いた方がいいよ
この業界、〇〇体系とか超クソだし
単純に作成したアプリの数が力になっていくと思う
2018/03/21(水) 12:12:58.59ID:8gJoz83s
>>368
昔は今よりできることが少なかったから
やみくもにやっても到達する範囲は広かった
今は広すぎるのでやみくもにやると割に合わない
ずっとググってるだけになりがち
2018/03/21(水) 12:15:23.53ID:lgzIOdqb
何か作って公開しろ
2018/03/21(水) 12:15:55.18ID:cg6C3pEJ
やりたいことをググれば、だいたい答えが出てくるのがC#のいいところ
2018/03/21(水) 12:16:13.75ID:8gJoz83s
その当時流行りのライブラリの使い方なんてすぐに陳腐化する
本質的に長く使えるのはプログラマ的思考

基本的なアルゴリズムがわからないのにプログラマを名乗るのははずかしい
問題解決の手段はググってライブラリをみつけるだけじゃない
2018/03/21(水) 12:20:46.76ID:hwVPx/8e
御託はいいから
2018/03/21(水) 12:20:49.36ID:8gJoz83s
○○をやりたい

c# ○○ で検索

ヒットしないのでやめる

じゃなくて

○○をやりたい

本やwebで○○について学習

c#でコーディング
375デフォルトの名無しさん
垢版 |
2018/03/21(水) 12:25:58.88ID:pPz9oHRt
>>372
> プログラマ的思考
怠惰は美徳
明日出来る事は今日やらない
アルゴリズムを学ぶよりはライブラリをググる
2018/03/21(水) 12:27:30.38ID:Y56bN0nz
>>372
こういうこと言う人間って結局何も出来ないやつのコンプレックスなだけ
プログラミングで一番大事なのは動機。何かを作りたいという情熱だけ
2018/03/21(水) 12:30:24.92ID:8gJoz83s
IDころころの情熱
378デフォルトの名無しさん
垢版 |
2018/03/21(水) 12:31:08.99ID:pL77RIW6
真逆の思考の人が両方ともプログラマーを名乗る
それでも全然問題ない
2018/03/21(水) 12:32:13.16ID:lgzIOdqb
ID真っ赤の情熱
380デフォルトの名無しさん
垢版 |
2018/03/21(水) 12:37:21.23ID:pPz9oHRt
>>378
>>372のような初心者に教えたがる初心者は居ない方が良い
2018/03/21(水) 12:38:22.30ID:MDnOXZZh
基礎的な姿勢と応用思想にも見える
382デフォルトの名無しさん
垢版 |
2018/03/21(水) 12:42:14.57ID:pL77RIW6
>>380
しかし376のような方が情熱で作るのをコピーするのもプログラマ
2018/03/21(水) 12:45:50.02ID:whSpFtiD
というより、現場の土方も橋の構造の設計者も同じ「建築関係者」ってことでしょw
ただ、土方が「構造力学なんて必要ねえ!」って吠えるのはその通りだけど滑稽ではあるねw
2018/03/21(水) 12:46:24.05ID:QTwxh18R
Qiitaみたいに公共領域であるWebにゴミを棄てないなら何でもいい
勝手にやってろ
2018/03/21(水) 12:53:26.69ID:8gJoz83s
やりたいことを言語仕様を学んだだけではコーディングできないことがある
やみくもに手を動かすだけでは目的を達成できないことが出てくる

過去の確立された手法を学ぶことで徐々にこうすべきだとが体が覚えていく

そして内部で何が行われていてどれだけの計算コストがかかりメモリなどが消費されるのか
正確じゃなくてもそれが多いか少ないかを何となく雰囲気がつかめるようになると大成功
386デフォルトの名無しさん
垢版 |
2018/03/21(水) 12:53:34.97ID:pPz9oHRt
>>384
QiitaはWeb用ゴミ箱やぞ
387デフォルトの名無しさん
垢版 |
2018/03/21(水) 12:54:06.43ID:pPz9oHRt
>>385
初心者はもう黙れ
2018/03/21(水) 13:00:13.20ID:/SLykQ97
何かを作って問題にぶちあった時に発揮する問題解決能力に勝るものはない
くそみたいなネットゲーム作ってる会社が最先端のライブラリを生み出してる現状がそれ
2018/03/21(水) 14:09:56.04ID:x2r2V1ra
>>387
ここには初心者しかいないw
>>374
の上が全く納得できなかったけどコピペプログラマの考え方だと合点がいった
>>361
そもそも何のための勉強なのか
就活のための勉強なら読んだ本が多い人と簡単でも実績のある人がどちらが有利なのかはわかる
趣味のための勉強ならここで聞かずに好きにしたらいい
>>363の下の2行を否定できる人はまずいないだろうな
390デフォルトの名無しさん
垢版 |
2018/03/21(水) 14:23:27.49ID:5e+TVXSM
今時、本を読んでコードの勉強する奴なんているの?
いんたーねっとを知らんの?
2018/03/21(水) 14:30:18.38ID:x2r2V1ra
>>390
スレまであるじゃないか
推薦図書/必読書のためのスレッド 82
https://mevius.5ch.net/test/read.cgi/tech/1493844476/
自分では一冊も読んだことないけどな
2018/03/21(水) 14:34:11.32ID:ElQ36cp9
>>390
まあ、どっちも一長一短だよね
393デフォルトの名無しさん
垢版 |
2018/03/21(水) 14:57:19.22ID:0twXSax5
>>367
趣味に使えるも使いないも関係あるかよ(´・ω・`)
2018/03/21(水) 15:20:09.30ID:8gJoz83s
プログラム歴およそ35年
c#歴およそ16年
395デフォルトの名無しさん
垢版 |
2018/03/21(水) 15:27:35.75ID:5e+TVXSM
>>394
いまは何をされてるんですか?
代表作は何でしょか?
2018/03/21(水) 15:30:53.70ID:FUlwWtP3
>>390
インターネットの情報もすべて書籍から生まれてるわけだが
397デフォルトの名無しさん
垢版 |
2018/03/21(水) 15:39:11.17ID:5e+TVXSM
>>396
そんな事ねーだろw
むしろ逆なんじゃないの?
ブログから書籍なら分かるけど
2018/03/21(水) 15:49:39.72ID:x2r2V1ra
>>396
MSDNのリファレンスは書籍が元になってんのか?
2018/03/21(水) 15:52:34.67ID:PUZ7K5bP
PSVRでもやればいいのに(´・ω・`)

スクエニ、「結婚指輪物語 VR」を5月25日配信--漫画の世界に入る新しいVR表現
https://japan.cnet.com/article/35116459/
2018/03/21(水) 15:58:17.79ID:OlOe5UzE
書籍が情報の原点だという意味では
まぁそんなこと言い出したら知識伝播の原点は壁画時代にまで遡る
2018/03/21(水) 16:08:01.93ID:Rl1NS7de
>>398
せめてdocsにしとけよ
2018/03/21(水) 19:42:34.12ID:k50DXUVk
>>394
そんなにやっていて初心者のスレで真っ赤になった上にバカにされるんだ
こんなプログラマにはなりたくないな
そして忘れ去られる元の質問者
403デフォルトの名無しさん
垢版 |
2018/03/21(水) 20:08:29.59ID:1JiLJjJR
努力で解決しちゃう奴がプログラミングをやると>>394みたいになりがち
2018/03/21(水) 20:11:51.61ID:zVVJT8mf
永遠の初心者よりいいと思うけどw
コピペしかできない人間にはなりたくない
2018/03/21(水) 20:19:04.30ID:ElQ36cp9
>>404
それで食えるならそれでもおk
406デフォルトの名無しさん
垢版 |
2018/03/21(水) 20:20:02.58ID:1JiLJjJR
いや、その永遠の初心者が>>394なのだが
2018/03/21(水) 20:31:38.84ID:mIV9xLj7
いちいち、僻み発言はしなくていいから
408デフォルトの名無しさん
垢版 |
2018/03/21(水) 20:33:38.71ID:cPEv79wC
そんな真新しくプログラム作ることってなくないか?
自分のライブラリ使うのもコピペに入るならほとんどコピペみたいなもんやろ
ネットから拾ってただコピペは知らん
2018/03/21(水) 20:46:37.97ID:zVVJT8mf
彼はコピペしかできない人達の何かを刺激してしまったんだなw
410デフォルトの名無しさん
垢版 |
2018/03/21(水) 20:47:32.26ID:mPtLWMTP
コピペって言えばQiitaやHatenaの記事は酷いもんがあるよな
間違ったテクニックや誤魔化す技が一度紹介されたら、そのコピーブログが量産されてくんだ
411デフォルトの名無しさん
垢版 |
2018/03/21(水) 21:53:57.93ID:1JiLJjJR
>>410
酷くていいんだよ
ああいうのは>>394みたいな努力系プログラマーが排出するゴミの受け皿なんだから
2018/03/21(水) 22:10:14.55ID:YzH/Qu94
マ板でやれよ...
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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