X



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

レス数が1000を超えています。これ以上書き込みはできません。
2017/10/09(月) 19:00:56.93ID:Y4203ffV0
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

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

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

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part131
http://mevius.5ch.net/test/read.cgi/tech/1504861931/
■関連スレ
C#, C♯, C#相談室 Part94 [無断転載禁止]©2ch.net
http://mevius.5ch.net/test/read.cgi/tech/1492843013/

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

■情報源
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2017/10/09(月) 19:03:51.40ID:CACjh+QNa
いちおつ
これの意味がわからない

998 返信:デフォルトの名無しさん[] 投稿日:2017/10/09(月) 19:02:26.16 ID:qEhozSMZ [18/18]
>>995
だからそれは間違ってるって言ってらだろバカ
2017/10/09(月) 19:04:21.54ID:c41RoAYB0
>>2
それは議論に不要
無視推奨
2017/10/09(月) 19:04:46.78ID:X/uHF4ez0
早速だけど、インターフェイスってどんな感じで使ってますか?
抽象化は便利だと思うんですけど、皆さんどんな感じで活用してるのか気になります
2017/10/09(月) 19:05:41.38ID:CACjh+QNa
>>3
無視していいの?
どう考えても間違ってるのはむこうなんだけど
なにか理由があるのか知れないよ
6デフォルトの名無しさん (スププ Sdfa-ujyN)
垢版 |
2017/10/09(月) 19:06:32.25ID:qEhozSMZd
>>2
言ってる な
ただの誤字だ
2017/10/09(月) 19:06:42.64ID:c41RoAYB0
>>5
煽り文句なしで指摘して来てるなら付き合えばいい
2017/10/09(月) 19:07:14.31ID:3XOsYzsWM
オブジェクト指向なコードを見て、驚愕した。どうしたら直列コードから卒業できるのですか?
9デフォルトの名無しさん (スププ Sdfa-ujyN)
垢版 |
2017/10/09(月) 19:08:09.60ID:qEhozSMZd
>>5
内容についてわからないの??
間違ってるって理解出来ないんだ
2017/10/09(月) 19:08:41.50ID:c41RoAYB0
>>9
>?
>間違ってるって理解出来ないんだ

議論に不要な記述
2017/10/09(月) 19:08:43.34ID:CACjh+QNa
>>4
普通の使い方と
似たようなクラスがたくさんあってなおかつ継承が利用できない非常にめんどくさい場合
インターフェイスに拡張メソッドをつけたりしてる
本来は使うべきじゃないのかもしれないけど自分でしか使わないからえいやってやってる
2017/10/09(月) 19:09:49.61ID:CACjh+QNa
>>9
じゃあ
まちがってるじゃなくて説明ヨロ
13デフォルトの名無しさん (スププ Sdfa-ujyN)
垢版 |
2017/10/09(月) 19:12:34.89ID:qEhozSMZd
>>12
何度も利用者側に秘密鍵があれば改変したデータを作ってアプリに使えるって言ってるんだけと??
いい加減自分の間違いを認めましょうね
2017/10/09(月) 19:16:54.72ID:ywmo0VPNa
>>13
それは説明になってない

秘密鍵は暗号化されたデータを解読するものなんだよ
Bは秘密鍵でAからのデータを解読するんだよ
そもそもそこはあってるだろ?

いつどのタイミングで何を改変するんだ?
AからのデータをBが改変する意味は何だ?
2017/10/09(月) 19:18:25.46ID:c41RoAYB0
>>13
>いい加減自分の間違いを認めましょうね

議論に必須でない記述
16デフォルトの名無しさん (スププ Sdfa-ujyN)
垢版 |
2017/10/09(月) 19:19:54.84ID:qEhozSMZd
>>14
もしかして秘密鍵から公開鍵が作れるって知らないの??
だとしたら物凄いバカ
2017/10/09(月) 19:20:42.79ID:c41RoAYB0
>>16
>だとしたら物凄いバカ

議論に不要な記述
2017/10/09(月) 19:20:57.78ID:ywmo0VPNa
>>16
質問に答えてほしい
まったく意味がない回答はやめてくれ
19デフォルトの名無しさん (スププ Sdfa-ujyN)
垢版 |
2017/10/09(月) 19:21:59.25ID:qEhozSMZd
バカが説明を理解出来ないわけがやっとわかった
秘密鍵から公開鍵を生成するって知らないんだな
2017/10/09(月) 19:22:38.11ID:r14Jr9yHa
>>4
これ、テンプレのFAQに入れた方がいい気がするw
今年に入ってから3回ぐらい見た気がするけど俺個人のデジャビューかな
叩く意図はないよ念のため。

俺の回答は、結局実際にどう使われているのか実例を見るのが早い。
>NET Framework(BCL)だってインターフェイス多用してるんだから
2017/10/09(月) 19:23:32.82ID:X/uHF4ez0
>>11
ありがとうございます
似たようなクラスがあって継承ができない場合ってどんな感じかイメージつかないですが、集団でプログラミングやると割りと起こる感じなんでしょうか
2017/10/09(月) 19:23:34.25ID:c41RoAYB0
>>19
>バカが説明を理解出来ないわけがやっとわかった

議論に不要な記述
2017/10/09(月) 19:23:53.39ID:ywmo0VPNa
相手がボケだしたんだけど
勝利宣言していいの?これ?
24デフォルトの名無しさん (スププ Sdfa-ujyN)
垢版 |
2017/10/09(月) 19:24:03.79ID:qEhozSMZd
>>18
手元にある秘密鍵から公開鍵作って任意の偽データを作成
それをアプリだで不正使用
わかったかなバカ
2017/10/09(月) 19:24:32.62ID:c41RoAYB0
>>23
>相手がボケだしたんだけど
>勝利宣言していいの?これ?

議論に不要な記述
2017/10/09(月) 19:24:46.20ID:c41RoAYB0
>>24
>わかったかなバカ

議論に不要な記述
2017/10/09(月) 19:25:08.04ID:A/ZdiVq5a
>>4
使ってません
28デフォルトの名無しさん (スププ Sdfa-ujyN)
垢版 |
2017/10/09(月) 19:25:13.83ID:qEhozSMZd
>>23
ボケてるのはお前の頭
はやく反論してみろ
2017/10/09(月) 19:25:25.88ID:c41RoAYB0
>>28
>ボケてるのはお前の頭
>はやく反論してみろ

議論に不要な記述
2017/10/09(月) 19:26:15.56ID:ywmo0VPNa
>>24
答えになってないよ

いつどのタイミングで何を改変するんだ?
AからのデータをBが改変する意味は何だ?
2017/10/09(月) 19:27:15.34ID:X/uHF4ez0
>>20
インターフェイスのメリットをどんな感じに活用してるのか知りたかった感じでした
ありがとうございます
2017/10/09(月) 19:27:27.03ID:ywmo0VPNa
最初から書いてるけど
公開鍵は公開されてもいいもの世界中の誰が知っててもいい

公開鍵で暗号化されてるからセキュアだと思ってるならレベルが低いよ
2017/10/09(月) 19:27:41.38ID:c41RoAYB0
>>32
>レベルが低いよ

議論に不要な記述
34デフォルトの名無しさん (アウアウカー Sa4d-gkqx)
垢版 |
2017/10/09(月) 19:28:31.27ID:4X7PKmK+a
まだやっとってワロタ
2017/10/09(月) 19:29:07.66ID:c41RoAYB0
>>34
>まだやっとってワロタ

議論に不要な記述
36デフォルトの名無しさん (スププ Sdfa-ujyN)
垢版 |
2017/10/09(月) 19:29:09.08ID:qEhozSMZd
>>30
いやお前が理解できてないだけ
タイミングなんてアプリがデータを利用するときに偽のデータをわたすだけだろ
理解しろバカ
2017/10/09(月) 19:29:34.98ID:c41RoAYB0
>>36
>いやお前が理解できてないだけ
>理解しろバカ

議論に不要な記述
2017/10/09(月) 19:29:50.26ID:ywmo0VPNa
質問にまともに答えてほしいな
2017/10/09(月) 19:31:14.43ID:A2XN0/QV0
半分以上あぼーんされてて笑える
ワッチョイが捗るわ
2017/10/09(月) 19:31:26.33ID:c41RoAYB0
>>39
>半分以上あぼーんされてて笑える
>ワッチョイが捗るわ

議論に不要な記述
41デフォルトの名無しさん (スププ Sdfa-ujyN)
垢版 |
2017/10/09(月) 19:31:35.40ID:qEhozSMZd
>>32
アプリの不正な使用方法を考慮しない頭のお前は最底辺レベル
2017/10/09(月) 19:32:13.56ID:c41RoAYB0
>>41
>お前は最底辺レベル

議論に不要な記述
43デフォルトの名無しさん (スププ Sdfa-ujyN)
垢版 |
2017/10/09(月) 19:32:52.29ID:qEhozSMZd
>>38
まともに答えてるのに理解できないバカ
そうやって逃げるのかな??
2017/10/09(月) 19:33:06.52ID:c41RoAYB0
>>43
>まともに答えてるのに理解できないバカ
>そうやって逃げるのかな??

議論に不要な記述
45デフォルトの名無しさん (スププ Sdfa-ujyN)
垢版 |
2017/10/09(月) 19:35:05.92ID:qEhozSMZd
このバカは早く自分の間違いと無知さを認めてごめんなさいしような
2017/10/09(月) 19:40:36.60ID:c41RoAYB0
>>45
>このバカは早く自分の間違いと無知さを認めてごめんなさいしような

議論に不要な記述
2017/10/09(月) 19:53:35.93ID:oNj7uBjL0
>>24
暗号化されたデータが例えば有料コンテンツとかなら、利用者(Bを持ってる人)が偽のデータを作る意味はない
利用者が偽のデータを作るのを良しとしないなら、配布者が別に署名すれば良い

ただし、利用者はそもそもアプリBを改造して、任意の動作をするようにすることが可能なので自分が偽データを作る意味はない話
2017/10/09(月) 20:03:10.67ID:ywmo0VPNa
>>41
前から書いてるけど公開鍵のデータが復号できたからそれが正しいデータとは保障されない
正しいデータかどうかを保証するのは別の段階の話

クライアントで不正なデータを基に何をやってても
サーバサイドの情報と不整合なら不正が起こったと判断されて終わる

クライアントで預金を1億に増やしてもサーバでは元のママ
49デフォルトの名無しさん (スププ Sdfa-ujyN)
垢版 |
2017/10/09(月) 20:04:13.58ID:qEhozSMZd
>>47
一行目はその通り。でも違うケースだって考えららる。なら、それを考慮するのは当然のこと
二行目は質問者への答えてではない
最後についても一行目と同様
2017/10/09(月) 20:05:03.65ID:ywmo0VPNa
ブラウザに秘密鍵はないって前スレで言い張ってたけど
ブラウザは秘密鍵を持ってる
それとhttpsの認証局の仕組みを使ってそれで安全に通信できてる
51デフォルトの名無しさん (スププ Sdfa-ujyN)
垢版 |
2017/10/09(月) 20:09:33.18ID:qEhozSMZd
>>48
不正な使用をできることが問題になるケースもあるだろバカ
2017/10/09(月) 20:10:14.80ID:ywmo0VPNa
じゃあ秘密鍵を使わないで生活するんだな
ブラウザも使えないけどいいのか?
2017/10/09(月) 20:11:15.89ID:c41RoAYB0
>>51
>バカ

議論に不要な記述
54デフォルトの名無しさん (スププ Sdfa-ujyN)
垢版 |
2017/10/09(月) 20:11:59.38ID:qEhozSMZd
>>50
は?
話を理解出来ないバカ
その密鍵
2017/10/09(月) 20:12:37.98ID:ywmo0VPNa
>>51
そっちの理論通りならこちらはプログラムBとブログラムAの公開鍵をもってるじゃないかw

そっちの理論だと改ざんし放題だねw
2017/10/09(月) 20:12:46.77ID:c41RoAYB0
>>54
>は?
>話を理解出来ないバカ
>その密鍵

議論に不要な記述
2017/10/09(月) 20:13:23.30ID:ywmo0VPNa
55で終わり
勝利宣言
もうレスしないw
2017/10/09(月) 20:14:03.85ID:c41RoAYB0
>>57
>勝利宣言
>もうレスしないw

議論に不要な記述
59デフォルトの名無しさん (スププ Sdfa-ujyN)
垢版 |
2017/10/09(月) 20:14:35.77ID:qEhozSMZd
>>50
その秘密鍵云々は本来サーバーにありばき秘密鍵をブラウザが持ってるという例えて間違ってると言ってるんだけど理解出来ないのバカ
2017/10/09(月) 20:14:51.13ID:c41RoAYB0
>>59
>理解出来ないのバカ

議論に不要な記述
2017/10/09(月) 20:15:39.79ID:c41RoAYB0
>>59
typoレベルが高く若干議論に影響あり
2017/10/09(月) 20:16:52.71ID:c41RoAYB0
注意:
議論に勝ち負けはない
正解があるだけである
その正解に到達したら終了すること
2017/10/09(月) 20:17:52.25ID:A/ZdiVq5a
道で淫乱鍵見つけた
2017/10/09(月) 20:18:35.47ID:c41RoAYB0
>>63
>道で淫乱鍵見つけた

意味不明な記述
議論に不要
65デフォルトの名無しさん (スププ Sdfa-ujyN)
垢版 |
2017/10/09(月) 20:20:11.31ID:qEhozSMZd
>>55
はあ?頭悪すぎ
秘密鍵は外部にあって複合化は外部で行う意味も理解出来ないの??
2017/10/09(月) 20:21:17.11ID:c41RoAYB0
>>65
>はあ?頭悪すぎ

議論に不要な記述
67デフォルトの名無しさん (スププ Sdfa-ujyN)
垢版 |
2017/10/09(月) 20:21:25.58ID:qEhozSMZd
>>61
すみません
そこは適当なもので
68デフォルトの名無しさん (スププ Sdfa-ujyN)
垢版 |
2017/10/09(月) 20:26:38.12ID:qEhozSMZd
バカが逃げたようでスッキリした
2017/10/09(月) 20:27:41.15ID:c41RoAYB0
>>68
>バカが逃げたようでスッキリした

議論に不要な記述
2017/10/09(月) 20:28:14.08ID:KtpP5XlMM
公開鍵暗号方式の話題は荒らせると学習してしまったな
2017/10/09(月) 20:29:42.72ID:ywmo0VPNa
>>70
ぜひ彼には公開鍵秘密鍵を使わないで生活してもらいたい
2017/10/09(月) 20:47:52.74ID:Uib+y8KD0
さきほどXmlシリアライズについて質問したのですがシリアライズ可能なクラスはデフォルトコンストラクタとクラス変数のみのクラスという理解でいいでしょうか?
73デフォルトの名無しさん (アウアウカー Sa4d-gkqx)
垢版 |
2017/10/09(月) 20:53:36.34ID:4X7PKmK+a
C#で組んだごく一般的な業務ソフトで1万行ってボリューム的にどんなもんですか?
2017/10/09(月) 20:56:51.85ID:c41RoAYB0
>>73
その質問の目的について
2017/10/09(月) 21:00:48.75ID:Y4203ffV0
>>72
https://msdn.microsoft.com/ja-jp/library/bb552764(v=vs.120).aspx
このページの「次の項目は、XmLSerializer クラスを使用してシリアル化できます。」以下
2017/10/09(月) 21:18:26.29ID:ywmo0VPNa
>>72
関係ないけどjava, python, rubyなどにあるクラス変数はc#では静的フィールドというもので
宣言にstaticがついててクラス自体に付随するものでシリアライズの対象じゃないです

インスタンスごとにある変数はインスタンスフィールド
2017/10/09(月) 21:35:42.93ID:r14Jr9yHa
MSDNライブラリ、過去のバージョンのドキュメントが選択できなくなったり
2.0以前の古いバージョンのドキュメントがごっそり削除されたり、知らん間にいろいろ改悪されてるな

MSって本当いらんことするよね
2017/10/09(月) 21:42:56.57ID:Zzx1e3hO0
>>77
.NET Framework 1.1のMSDNも未だ見えてるけどね?
2017/10/09(月) 21:51:39.89ID:Zzx1e3hO0
>>73
一人で作れる小規模な業務アプリです。
2017/10/09(月) 21:53:55.76ID:r14Jr9yHa
2.0じゃなくて1.1以前か
たとえばちょっと前に話題になったこれとかなくなってる
https://webcache.googleusercontent.com/search?q=cache:WQiXtXkwbR0J:https://msdn.microsoft.com/ja-jp/aa691135(v%3Dvs.71)+&cd=1&hl=ja&ct=clnk&gl=jp&lr=lang_en%7Clang_ja

読みたきゃローカルにダウンロードして読めとさw
Win10で田ミ + F1押した時に近い怒りを感じるね
2017/10/09(月) 23:54:00.00ID:wnhU5HD50
>>49
それを言いたいなら「全てのケースに対応できる方式は存在しない」と主張しないと
初心者が完全な要求仕様を一発で提示するのは難しい
不完全な要求仕様が提示されたら、ある程度補って「これでやりたいこと満たせる?」って確認してみるのはよくあるパターン

もし「B側が改ざんしたデータを読み込ませるのを防ぎたいです」と言われたら署名を追加提案するし、「アプリが改ざんされると困る
というなら、耐タンパのハードウェアを用意するしかないんじゃないというし
82デフォルトの名無しさん (ワッチョイ fa27-lr6/)
垢版 |
2017/10/09(月) 23:57:41.08ID:wnhU5HD50
>>80
docsの方に整理して移動してるのかな
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/new-modifier
2017/10/10(火) 02:07:14.95ID:ILyTWDei0
TreeViewクラスだとGetNodeAt関数にマウスのx、y座標を渡せば対象のTreeNode返してきますが
TabControlにはGetなんとかで探してみましたが見つかりませんでした、そういった関数はないのでしょうか?
2017/10/10(火) 04:03:42.30ID:pliWVB3X0
どこの座標を指定した時に何を手に入れたいのか
タブ部分だけを指定してTabPageが手に入れば良いの?
2017/10/10(火) 09:18:54.04ID:MPxouh5p0
俺が公開鍵云々書いた後ここまで荒れたのか
スゲーな
休みなのに他にすることなかったのか?
2017/10/10(火) 18:09:11.73ID:DF0+rUlsd
公開鍵の中に、別の署名入れときゃ良いだけなのにな。
87デフォルトの名無しさん (ワッチョイ 41f9-qWqy)
垢版 |
2017/10/10(火) 19:00:46.52ID:86WPBtAo0
Format8bppIndexed形式のBMPファイルをpictureboxに読み込んで、
それをリネームして同じくFormat8bppIndexed形式のBMPファイルで保存したいのですが、
どのようにすればよいでしょうか。
PictureBox.ImageLocationプロパティではFormat8bppIndexed形式は蹴られてしまいます・・・

また、形式を変えてpictureboxに表示させることは出来たのですが、
それをまたFormat8bppIndexed形式に変換して保存するところでつまづいてしまいました。
2017/10/10(火) 20:03:58.53ID:ZqwUWY4/0
>>87
試してみた
>PictureBox.ImageLocationプロパティではFormat8bppIndexed形式
読み込める
そしてそのままPictureBox.Imageを保存(pictureBox1.Image.Save)するとインデックスカラーになった
元の画像のフォーマットが間違っているか特殊では?
別の画像で試してみろ
あとGDI+で24bpp/32bppにした画像はインデックスカラーに可逆で変換できないはず
自分でパレットテーブルと画素データ作らないといけない
2017/10/10(火) 22:26:46.18ID:ILyTWDei0
>>84
すいません
MouseDownイベントでどのクリックされたTabPageが欲しかったのです
結局自分でGetTabPageAt(int x, int y)をコピペして作りました
2017/10/10(火) 23:26:31.15ID:ZqwUWY4/0
>>89
タブ以外のところなら各ページのMouseDownイベントのsender
タブのところならTabControl.SelectedIndexChangedイベントでSelectedIndexかSelectedTab.Nameで取れる
そっちはx,yにしているから目的は違いそうだが
2017/10/11(水) 00:10:40.19ID:gF87iMQ50
>>90
ありがとうございます。TabControl上でどのタブの上でクリック、中クリックされたのかが知りたかったのです。
2017/10/11(水) 00:30:56.59ID:9Fj0rD7Ja
キーで変更されたときはなんもやらねぇの?
2017/10/11(水) 00:55:05.05ID:gF87iMQ50
はい、今のところ何もやりません
2017/10/11(水) 01:02:11.13ID:9Fj0rD7Ja
実現したいことを質問すればいいのにピンポイントでやり方だけ聞き続けるのがうまくねぇな
なんかあんまユーザーも望んでないようなことやってそう
2017/10/11(水) 03:10:21.57ID:gF87iMQ50
回りくどくなってしまってすみません
趣味で自分用に作っているアプリなのでユーザーは自分だけです
2017/10/11(水) 04:20:02.28ID:9Fj0rD7Ja
>>95
タブコンってタブのフォントをでかくするとバグるよね
2017/10/11(水) 15:07:03.75ID:jhF5UTXL0
>>88
わざわざ確認していただいてありがとうございます。
確認してみます。
2017/10/13(金) 19:23:27.95ID:9FeTZoAH0
入力する ???
もう1度入力する!!!
???と!!!の和は---
???と!!!の積は---
2017/10/14(土) 04:28:03.00ID:VMil0wNI0
TabControlとTabPageがあり、TabPageの中にWebBrowserコントロールがあるのですが、TabControlを触るとWebBrowserのフォーカスが外れてしまい
一度WebBrowserの中をクリックしないと動きません、マウスポインタがWebBrowser上にある場合クリックしなくても自動的にフォーカスを移したい場合どうすればいいでしょうか?
2017/10/14(土) 05:59:21.01ID:KJ0BKnta0
マウスポインタがWebBrowser上にあるかどうかを判定するコードと
フォーカスを移すコードを書けばいいんじゃね
しつけーよお前
2017/10/14(土) 06:08:08.12ID:NTbBehtoa
あーでもその動作はきっとやめておいたほうがええなー
使いやすいと思うやつおらへんで
2017/10/14(土) 11:06:25.42ID:+aeiapeN0
>>100
TabPage.Enterで(this.Activate()と)Tabpage.Focus()ですねw
>>101
同意するけど自分で使うだけらしいからw
>>99
>TabControlを触るとWebBrowserのフォーカスが外れて→TabControlを触ったあとでWebBrowserをFocus()
質問の時点で答え出ている気がする。Focus()は知っているだろうし
それよりもTabControl触っただけでTabPage上のコントロールのフォーカスは外れない
右クリックからコンテキストメニュー呼出しても別のタブでMouseDownイベント起こしても
WebBrowserが影響しているかもしれないが、それを調べないと対策しても後から別の問題が多分出てくる
103デフォルトの名無しさん (ワッチョイ 09b3-7vf9)
垢版 |
2017/10/14(土) 21:19:17.73ID:2Frxw1Uc0
visual studio for macを昨日から使い始めました
コンソールプロジェクト その他→.NETを選択してソリューションを作成しているのですが.NET内のクラスを呼ぶとエラーが出ます
using Systemの記述以外に必要なことがあれば教えていただきたいです
2017/10/14(土) 21:30:45.44ID:+aeiapeN0
>>103
何呼び出そうとしたのかくらい書いてほしい
まずそのクラスが入っているコンポーネントの参照設定が必要
https://msdn.microsoft.com/ja-jp/library/7314433t(v=vs.90).aspx
次にusingが記述されていないクラスを呼び出すには名前空間からの記述が必要。もしくはusing (名前空間);を追加
2017/10/14(土) 21:36:08.46ID:GRARGOD60
使い始めていきなり参照追加が必要になるとは思えないから、恐らくusingが足りないんだろ。
2017/10/14(土) 21:49:10.87ID:Gt2cFrms0
初心者って何でエラーメッセージ書かねーの?
107デフォルトの名無しさん (ワッチョイ 09b3-7vf9)
垢版 |
2017/10/14(土) 22:12:08.04ID:2Frxw1Uc0
>>104-106
参考書を読みつつ進めていて
DateTime today = DateTime.Today;でエラーが出ます
呼び出したいのは構造体でした
MSのリファレンスではこのように書かれています
名前空間: System
アセンブリ: mscorlib

レス書きながら参照の編集→アセンブリ弄っていたらエラー吐かなくなりました
もしかするとusing System;を書いていなかっただけかもしれません、申し訳ないです
エラーメッセージも今後は載せます
2017/10/15(日) 01:24:12.85ID:odpYqypi0
formのサイズに合わせて、
labelが拡大縮小するのってどうすればできますか?
2017/10/15(日) 01:47:44.60ID:6sAES7rzM
>>108
おれも手軽な方法知りたい。

面倒な方法としては、formサイズとlabelのフォントサイズに比例式作って判定させるメソッド作れば実装はできる。
2017/10/15(日) 01:57:09.23ID:7R5dQaZOa
>>108
煽り抜きで真面目な話、そういうのはまず要件を厳密に定義しないとね。
「formのサイズに合わせて、labelが拡大縮小」っていうのは曖昧だよね
2017/10/15(日) 02:12:32.32ID:odpYqypi0
>>109
ありがとうございます。
そういう機能があると思ってましたが、
簡単にはできないのですね。
2017/10/15(日) 02:13:46.76ID:odpYqypi0
>>110
画像の拡大縮小のような感じで、
フォームの大きさに合わせて、
ラベルの文字が大小するという感じです。
2017/10/15(日) 09:38:54.40ID:PeJpR27x0
>>112
WPF使えば良いんじゃないの?
2017/10/15(日) 10:17:34.83ID:xAZWROGI0
C#でpyplotみたいにフォーム作らなくてもお手軽にグラフ表示する方法ってないですか?
2017/10/15(日) 10:19:38.15ID:Tx63GDtfa
グラフコントロール的なのなかったっけ?
2017/10/15(日) 10:27:56.21ID:Tx63GDtfa
表示しないとdrowtobitmapきかねっけ?
2017/10/15(日) 16:04:17.23ID:64liGYG7M
ずっとグラフコントロール見てたけど
前だったら商用が一番おすすめだったけど
今はもうwebのフリーのコントロールに負けてるので金を払ってまで使う必要あるのかと思う
2017/10/15(日) 16:06:29.18ID:Tx63GDtfa
chartコントロール超綺麗じゃん
2017/10/15(日) 16:17:59.94ID:+yNynBs60
>>113
だよな。コントロール並べるだけじゃ満足できないならwpfやuwpに移行したほうが効率いい
もうオーナードローなんかやりたくないよ
2017/10/15(日) 16:21:03.11ID:Tx63GDtfa
>>119
フォントまで対応してたっけ?
今PCってフォント125%とかデフォルトで設定して売ってんじゃん
2017/10/15(日) 16:35:55.54ID:64liGYG7M
グラフって表示するだけじゃなくてインタラクティブなのものを求められたりするんで困る
2017/10/15(日) 16:46:42.46ID:+yNynBs60
>>120
拡大したいコントロールをViewBoxってコントロールで囲えば、何でも拡大縮小してくれる
2017/10/15(日) 16:57:11.91ID:Tx63GDtfa
>>122
フォントサイズやフォントの倍率変えても行ける?
2017/10/15(日) 17:11:04.42ID:64liGYG7M
使い勝手がいいかどうかは別だけど
スクロールバーありものも突っ込んだら悲しいことになる
2017/10/15(日) 17:17:55.44ID:Bo2AAy/J0
>>120
PCうんぬんはフォントじゃなくてスケーリングじゃないかな。
WPFは元々システムのDPIに依存しないから、スケーリング対応は簡単。
2017/10/15(日) 17:21:09.76ID:Tx63GDtfa
>>125
コントロールパネルの画面の
テキスト、アプリ、その他の項目のサイズを変更する
は影響受けない?
これが125%になってんだけど
2017/10/15(日) 17:24:10.76ID:q3I9S/toa
質問者に言っておくけど、要件を厳密に定義しないとこういう流れになっちゃう。

「formのサイズに合わせて、labelが拡大縮小」
「ォームの大きさに合わせて、ラベルの文字が大小するという感じ」

これどっちも曖昧だって。
要件っていうのは解釈や忖度や妄想の余地がないように厳密に定義しなきゃ
2017/10/15(日) 17:25:59.26ID:64liGYG7M
使ってみればいいよ
ViewBoxは使いどころが難しいと思う
マウス操作するものはなるべく突っ込まないほうがいいと思う
2017/10/15(日) 17:33:14.07ID:64liGYG7M
スペースが事前に決めてあってその中いっぱいに表示したいならviewbox
サイズを細かく指定したいなら向いていない
左右に二個並べてあって中身が違うにもかかわらず左右の表示を会わせたい→死
2017/10/15(日) 18:30:27.57ID:Bo2AAy/J0
>>126
それがスケーリングね。
スケーリングが125%になっているなら、ウィンドウ全体(コントロールも文字も)が125%に拡大された上で綺麗に表示してくれるよ。
2017/10/15(日) 19:26:58.15ID:boo3QsX80
>>127
実際に作るものはともかくここでの流れまで初心者に言っても
最初から要件を細かく定義できるのならググったほうが速いし
質問の仕方から見て>>109>>113で十分かと
>>108
WPFはわからないのでWinForm+>>109で仮に作るとこうなる(Labelだけ対応)
https://ideone.com/BWg19a
ここまでは簡単で破綻しないように調整しようとすると面倒。自分では使わないw
この段階でたぶん座標とサイズがintでフォントサイズがfloatのせいで最後の文字で時々失敗する
2017/10/15(日) 19:43:17.05ID:H5qn+0zu0
Windows10のOS寄りの話になっちゃうかもしれませんが、
タスクバーとかその上にくっ付いてるコントロールの透明化を一時的にでも止める方法あったら教えてください。
2017/10/15(日) 20:08:50.91ID:T+wcAuKm0
>>132
設定→個人設定→色→透明効果→オフ
と同じことをプログラムからやりたいってこと?
C#の範疇じゃないので、聞くならWinAPIスレかなぁ
2017/10/15(日) 20:14:55.96ID:Gr3hJnkQa
タイトルバーのこと?
2017/10/15(日) 20:32:23.95ID:+yNynBs60
UWPだと、画面のサイズに依ってフォントのサイズどころかコントロールのレイアウトから何から何まで変更することが可能です
VisualStateManagerとAdaptiveTriggerってのを使うんだが、ちょっと説明には骨が折れるから興味ある人はググってね

単純なものでも、この複雑さだからね
https://blog.naotaco.com/archives/840
2017/10/15(日) 21:09:13.78ID:H5qn+0zu0
>>133
そうです。スレ違いでしたね
透明の箇所はスタートメニューから全部無効化したいですね
急ぎじゃないんで適当に調べてみます
2017/10/15(日) 21:25:24.68ID:+yNynBs60
>>136
http://news.mynavi.jp/column/windows/385/
ここにレジストリの変更でできるって書いてあるが、後は頑張ってね
2017/10/16(月) 06:32:34.43ID:RQ+FBTWza
>>130
おお、大丈夫なのか
ありがとう
原因を分けて対応しないと駄目だな〜
2017/10/16(月) 08:01:21.51ID:ecMhS81Sp
二つの同じ長さの配列A,Bの末尾から5つを取り出してその全ての要素がA>BならTrueを返す

↑これってLINQでうまく書ける?
2017/10/16(月) 08:05:12.77ID:qSwuY79xa
>>139
友の会行けよ
明らかに初心者スレじゃねぇよ
2017/10/16(月) 09:40:47.13ID:Hv+h3c0cM
LINQの定義次第っていうか
LINQ to ObjectsならTakeLast拡張メソッドを自分で実装すればいける
2017/10/16(月) 09:50:04.77ID:dwD3mD07M
>>139
A.Reverse().Zip(B.Reverse(), (a, b) => new { a, b }).Take(5).All(ab => ab.a > ab.b)

>>141
十分初心者レベルだよ
自分がわからないからスレ違いってw
2017/10/16(月) 09:51:11.95ID:dwD3mD07M
すまん
わかると思うけど下のアンカは>>140の間違い
2017/10/16(月) 09:53:43.90ID:REWIMY/C0
なんで推敲する程度の余裕すらないんですかね…
寿命が近くて生き急いでるのかな?
2017/10/16(月) 10:01:59.84ID:qSwuY79xa
>>142
こんなコード見やすいと思ってる時点で頭がイカれてる
2017/10/16(月) 10:13:40.50ID:/cVIDSfR0
またLINQに親殺されたマンのスイッチ入ったな
2017/10/16(月) 10:15:02.52ID:VBGd717qM
逐次的に読むだけだから難しくはないと思うが…
2017/10/16(月) 10:15:18.65ID:qSwuY79xa
まあ、動作も遅いしね
2017/10/16(月) 10:16:28.62ID:/cVIDSfR0
>>148
ちょっと興味あるから同じ処理をわかりやすいように書いてみて
2017/10/16(月) 10:25:12.95ID:X+6CakuHM
>>145
勢いで書いて後から見てワケワカランで
こんな糞コード誰じゃと調べたら自分だった事が多々あるw
151デフォルトの名無しさん (ガックシ 06eb-dPak)
垢版 |
2017/10/16(月) 10:51:30.20ID:yXhtcONm6
>>148
LINQ難しくて嫌いだからってケチ付けるなよwwwwwwwww
2017/10/16(月) 10:57:04.66ID:qSwuY79xa
>>151
いや、遅いのと見難いから嫌い
2017/10/16(月) 11:02:26.88ID:X+6CakuHM
メソッドチェーンってそんなに見づらいか?
クエリー構文はキモくて嫌いだが。
2017/10/16(月) 11:05:31.52ID:REWIMY/C0
LINQに全てを奪われたマンだろ
2017/10/16(月) 11:07:08.78ID:qSwuY79xa
>>153
テトリスを一行で書きました(改行コードがないだけ)
みたいな臭いがして臭い
2017/10/16(月) 11:07:49.77ID:kQRYApqGa
>>142はLINQ好きじゃない俺でも十分読める
ちょっと思ったけど
A.Reverse().Zip(B.Reverse(), (a, b) => a > b).Take(5).All(x => x);
こっちの方がいい気が

Tがboolの時predicatorじゃなくて要素そのものを評価するオーバーロードってないんだね
2017/10/16(月) 11:17:17.26ID:kTlR9ez60
>>142
ありがとうありがとう
なんでかTakeLastが使える(最近追加された?)んでリバースなくて行けました
けどめちゃくちゃ遅かった…

ちょっとLinqでやるんが無理だったんかな、でもすごくためになりましたありがとう
158デフォルトの名無しさん (ガックシ 06eb-dPak)
垢版 |
2017/10/16(月) 11:18:16.37ID:yXhtcONm6
>>155
こんなに普及してるjQuery全否定か
2017/10/16(月) 11:21:16.85ID:/cVIDSfR0
>>155
頼む、アウアウオー Sa63-qY8Gなりの同じ処理のコードを書いてくれ
そっちのほうが分かりやすかったら味方も増えるだろ
160デフォルトの名無しさん (ガックシ 06eb-dPak)
垢版 |
2017/10/16(月) 11:22:50.09ID:yXhtcONm6
しかも最近流行りの状態を持たない関数型プログラミングだし
161デフォルトの名無しさん (ワッチョイ 798a-iAGE)
垢版 |
2017/10/16(月) 14:46:59.09ID:L72cxc6g0
SQL使ってた人にはLINQは分かりやすいけど長いと読む気なくすのはSQLも同じ
2017/10/16(月) 14:54:15.28ID:ckY7h8O8M
>>161
linqのクエリ式とsqlは別もん。
sqlを知らない方が良いかもね。
2017/10/16(月) 15:12:28.85ID:tCfKnGA20
TrackBar のツマミを、タッチ操作用に大きくしたいんですが、どうすればいいんでしょうか。
検索しても解決に至っていない質問がちらほらあるぐらいです。もしくはこれでもかってぐらい
自分で書いたオリジナルのトラックバーとか。
そこまでしなくても、ツマミが大きくできるだけでいいのですが。
164デフォルトの名無しさん (ワッチョイ 798a-iAGE)
垢版 |
2017/10/16(月) 15:21:38.99ID:L72cxc6g0
>>162
別物(キリッ)とか言われても
同じだなんて言ってないけど

ただ取っ掛かりの部分でSQLの知識が活かせるから個人的には学習コスト低かったし、
逆にSQL知らない子に教えて慣れさせるのには苦労したわ
2017/10/16(月) 15:32:11.28ID:1Xir09k9d
>>164
メソッド式だけで充分
2017/10/16(月) 15:34:39.13ID:ckY7h8O8M
>>164
自分の場合はSQL知っててクエリ式を見たときは何じゃコリャと思ったもんで^^;
冗長だけどメソッド式が好み。
167デフォルトの名無しさん (ワッチョイ 798a-iAGE)
垢版 |
2017/10/16(月) 15:58:03.25ID:L72cxc6g0
>>165
そう思ってるのお前だけだからクエリ式があるんだろ
悟れよ
168デフォルトの名無しさん (ワッチョイ 798a-iAGE)
垢版 |
2017/10/16(月) 15:59:01.02ID:L72cxc6g0
>>166
面食らうのはわかるけどすぐ慣れるでしょ
2017/10/16(月) 16:04:24.32ID:VwEzpL/B0
>>163
https://msdn.microsoft.com/en-us/library/system.windows.forms.trackbarrenderer(v=vs.110).aspx
2017/10/16(月) 16:09:03.51ID:/hjaT7S3M
>>168
linqの出始めの頃はクエリ式を多く見かけた気がするが、最近のグーグル先生ではメソッド式を多く見かける気がする。
どっちが主流なんだろ?
2017/10/16(月) 16:12:46.47ID:/cVIDSfR0
今はメソッド式のほうが主流なんじゃない
最初は皆珍しがってクエリ式使ってたけど
今はほとんど見ない
2017/10/16(月) 16:28:30.74ID:/hjaT7S3M
>>171
vb.netだと状況が違うかも。
メソッド構文が冗長過ぎるよ。
2017/10/16(月) 17:44:59.60ID:1Xir09k9d
>>167
クエリ式で可能なことは全てメソッド式で可能。逆は成り立たない。
2017/10/16(月) 17:46:24.26ID:n1MWZemqd
>>167
充分の意味がわかってないということは中卒かな?
2017/10/16(月) 17:48:04.85ID:Vn+nsPRE0
>>113
>>131
コードも書いて頂いてありがとうございました。
恐縮しております。
いろいろいじってみたところ、
WPFでできそうなのでやってみます。
2017/10/16(月) 18:08:02.80ID:4cngaiV60
>>172
Functionがウザすぎてクエリ式使うわ
2017/10/16(月) 18:19:09.19ID:Jb7W9hCC0
リファクタリングって実際にやる事って多いのでしょうか?
とりあえず動くものを作ると手直しが大変で、設計を考えてから作るならそんなにリファクタリング起こらない様な感じもしますが
後から機能追加していくと分割しようとかってのもあるのでしょうか
2017/10/16(月) 18:25:44.09ID:eZI1RZBbM
多いです
179デフォルトの名無しさん (アウアウカー Sad5-vbd7)
垢版 |
2017/10/16(月) 18:40:53.97ID:ls7B8y8Ka
むしろそんなんばっかで嫌になる
最初の仕様書もっぺん見てみろや禿げと言いたくなるね
180デフォルトの名無しさん (ワッチョイ 798a-iAGE)
垢版 |
2017/10/16(月) 18:51:38.88ID:L72cxc6g0
>>174
じゃあお前はILで書ければC#要らないんだろうな高学歴さん
そもそも糖衣構文なんてどれも使い方次第だろ
言われないとわからんか?
2017/10/16(月) 18:57:14.07ID:X9WtM+0ed
>>180
ILがc#並に使い勝手良ければそうだろうね
182emanの物理学ってサイトわかりやすいな (ワッチョイ 7916-dPak)
垢版 |
2017/10/16(月) 19:03:30.59ID:8ymsOkDP0
教科書見ても全然わからんかったのにスイスイ理解できる
183emanの物理学ってサイトわかりやすいな (ワッチョイ 7916-dPak)
垢版 |
2017/10/16(月) 19:03:49.47ID:8ymsOkDP0
ミスった
2017/10/16(月) 19:22:10.94ID:BTwHB29Wa
>>177
それって誰の金でやってんの?
次の開発なんかあるかどうかわからないのに無駄じゃない?
2017/10/16(月) 19:22:42.93ID:LfvhrZmO0
>>177
設計を考えてから作ったあとにリファクタリングとか、設計が糞だからやり直すようなもんだわな
2017/10/16(月) 19:23:29.95ID:BTwHB29Wa
リファクタリングって設計がクソだからやるの?
2017/10/16(月) 19:30:37.46ID:TyTVOwnW0
>>177
一度書いたコードは問題なく動いている限りリファクタリングなんてすることは無いよ。
リファクタリングする工数なんて何処にも無いからね。

元のコードを大きく改変する必要があるとか類似システムを作るときは
思い切ってリファクタリングするけどね。そっちの方が品質も安定するし早いから。
ま、そんだけ元のコードが酷いって事さwww
2017/10/16(月) 19:30:40.89ID:Jb7W9hCC0
>>184
主力製品の機能変更で売ってくようなスタイルだと機能追加の度にコードが増えてくけど、その度に仕様変更でバグが混入する可能性があるからコード直ししたいとかあるってパターンもあると思います
既に基底が整備されてるとかプロジェクト毎に違う製品作るパターンならこういうことは無いと思いますが
2017/10/16(月) 19:34:29.63ID:BTwHB29Wa
>>188
でもお客の要望がリファクタリングの方向とズレてる場合って
かけたコストが丸損じゃない?
2017/10/16(月) 19:38:56.50ID:Jb7W9hCC0
>>189
あくまでお客とのやり取りではなく、コードは会社の資産という観点でリファクタリングするという考えですね

お客の要望で機能追加する前提のものなので、そこで保守するコストやバグによる信用低下からプログラムそのものの価値が下がるって概念になると思います
まぁ実際はリファクタリングするには大きすぎるので理想はあっても実行は中々できないと思いますが
2017/10/16(月) 19:39:51.97ID:3WbDhRser
>>173
letとSelectManyの連鎖はクエリー式でないと辛すぎるですたい
2017/10/16(月) 19:48:17.74ID:eZI1RZBbM
リファクタリングのやり方がおかしいんじゃないかな
リファクタリングでコードがシンプルになればその後の開発工数が激減する
2017/10/16(月) 20:21:04.95ID:rY47nFh2M
レガシーシステムに手をつける前に必ずリファクタリングするって常識でしょ
レガシーシステムは恐ろしいスパゲティの塊なのでそのまま手を出すとあっという間に破綻する
まずはリファクタリングで保守可能な状態を作らなければならない
最悪でも拡張する機能をテスト可能な状態にすること
顧客がバカでコミットできない場合でも知識を得るためにリファクタリングが最適
腐ったコードはどれだけ読み込んでも理解できない
2017/10/16(月) 20:21:22.23ID:BTwHB29Wa
>>190
いや今まで設定ファイルから読んでたけど
ネットワークから取得するわ
一括ではなく個々のデータを使用するときに常に最新データを個別に取得するわ
ってなったら絶対無駄になるよね?
2017/10/16(月) 20:26:56.04ID:BTwHB29Wa
>>192
それは改修時にする設計だよね
それは理解できる
でも、動いてるところをわざわざぶっ壊して作り直すって
お客に見積り通らないよね
2017/10/16(月) 20:29:25.51ID:Jb7W9hCC0
>>194
それで無駄になるケースってどういう場面でしょうか?
設定ファイルとコードが依存してなければ設定ファイルの取得部分の追加変更でリファクタリング自体は無駄にならないと思いますが
変更できないような設計なら確かに無駄になると思いますが・・・
2017/10/16(月) 20:31:20.88ID:1MDONeW40
>>195
スレチ
2017/10/16(月) 20:31:55.64ID:BTwHB29Wa
>>196
設定ファイルを読み込む前提でリファクタリングしたなら
ネットワークからデータを個別に取得するようになるわけだから無駄だよね?
2017/10/16(月) 20:34:39.53ID:VwEzpL/B0
無駄になる可能性もあるけど無駄にならない可能性もある
汚いコードだった場合ほど無駄にならない
2017/10/16(月) 20:34:54.38ID:BTwHB29Wa
設定ファイルは起動時に1回一括で読み込むだけかも知れないね

でもネットワークからデータが必要になるたびに個別に最新を取得だから
ぶっちゃけ対応できないんじゃないかな?
2017/10/16(月) 20:36:10.80ID:BaDXAceVd
>>200
スレチ
2017/10/16(月) 20:37:35.41ID:BTwHB29Wa
>>199
そう?
逆にこれが対応できるほど汎用性を上げたら明らかに無駄なコードだと思うよ
203デフォルトの名無しさん (スフッ Sd33-iAGE)
垢版 |
2017/10/16(月) 20:38:05.31ID:Pq8+tcNCd
ID:BTwHB29Waが何言ってるかわかるエスパーいる?
2017/10/16(月) 20:41:07.21ID:BTwHB29Wa
>>203
簡単にいうと仕様変更がかかったらリファクタリングなんて意味ねーじゃんってこと
2017/10/16(月) 20:55:07.11ID:rY47nFh2M
>>204
仕様変更ってリファクタリングしててよかった〜って一番実感するときだろ
まあやったことない人にはわからない感覚だとは思う
リファクタリングに工数かかるのは事実だから
目の前のコストしか見えない人だってそりゃいるよね
2017/10/16(月) 20:57:22.92ID:XeTEMs9s0
それはリファクタリングというかテスト書く話では
2017/10/16(月) 20:57:25.32ID:BTwHB29Wa
>>205
でも>>194とか無理でしょ?
2017/10/16(月) 21:05:31.13ID:rY47nFh2M
>>207
設定ファイル一括読み込みクラスをリファクタリングして
設定問い合わせインターフェースにする
設定ファイル一括読み込みクラスは設定読み込みインターフェースを実装する

設定読み込みネットワークになったわー読み取りは毎回取り直しだわ〜ってなったら
設定テーブルセレクトクラスを作る
設定テーブルセレクトクラスは設定読み込みインターフェースを実装する

DIの設定を変更して終わり
簡単だろ?
2017/10/16(月) 21:06:54.06ID:rY47nFh2M
>>208
誤字訂正

>設定ファイル一括読み込みクラスは設定読み込みインターフェースを実装する
設定問い合わせインターフェースを実装する

>設定テーブルセレクトクラスは設定読み込みインターフェースを実装する
設定問い合わせインターフェースを実装する
2017/10/16(月) 21:08:49.18ID:BTwHB29Wa
組み直しに近いよね
2017/10/16(月) 21:12:10.02ID:BTwHB29Wa
設定ファイル一括読み込みクラスは会社の資産とのことだけど
どこ行くの?

また、設定ファイルから読み込むこともあるかも知んないから残しとく?
別の会社に売ったら
「うちはいちいちネットワークなんて繋げなくていいよ」
って言うかもね
こっちもサポートし続ける?
捨てちゃう?
2017/10/16(月) 21:15:35.05ID:HJ2RVhMCM
>>195
業態によるんじゃないかな
客先の社内に入ってる常駐型とかweb開発では継続的インテグレーションが当たり前
納品して終わりのシステムなんて大手は少ないんじゃないかな?
2017/10/16(月) 21:16:23.03ID:rY47nFh2M
リファクタリングしてないと組み直しになる
ネットワークから取ってくるって機能に切り替えたいだけなのに
なぜか設定読み込み処理そのものやそれを呼び出してるところを一生懸命調べたり直さなきゃならない
本当にやりたいことはそんなことじゃないのに!

リファクタリングしてあればまさにネットワークから取ってくる処理を追加するだけで済む
既存の処理はそのまんま
やりたいことを過不足なくやるだけ

解放閉鎖原則ってやつだね
2017/10/16(月) 21:18:26.26ID:LfvhrZmO0
>>212
継続案件でも納得してリファクタリングに金払う客居たら見てみたいわ
どうにもならなくなった糞コードを何とかする手段としてリファクタリングを使うケースは偶に見かけるけど
2017/10/16(月) 21:19:42.39ID:BTwHB29Wa
>>212
京都市とシステムズが争ってんじゃん
11億円の案件らしいけど
次の仕事あると思う?
2017/10/16(月) 21:21:16.99ID:z1iVQjyz0
客が選べないのはお前が無力だから
2017/10/16(月) 21:21:25.94ID:BTwHB29Wa
>>213
浅はかだな
一部設定ファイルから
一部ネットワークから
って可能性もあるよ
改修仕様が決まってから出ないとリファクタリングもゴミだなって気づけよ
2017/10/16(月) 21:21:40.28ID:rY47nFh2M
>>211
必要な顧客と不要な顧客が居るなら取っておいたほうがいいね
インターフェースで綺麗に分離されてるから機能有効化無効化の管理も超簡単
2017/10/16(月) 21:22:06.38ID:z1iVQjyz0
てかマ板でやれよ
底辺チンカスコーダーの分際でうるさいわ
2017/10/16(月) 21:22:56.52ID:BTwHB29Wa
>>218
ネットワーク状態によって分岐するかもしんねーぞw
どこまでインターフェースで対応できんだ?w
2017/10/16(月) 21:23:54.08ID:rY47nFh2M
>>217
それもリファクタリングしてあれば簡単にできるよ
単に設定ファイル読み込みクラスとネットワーク問い合わせクラスのミックスインを作るだけ
実装するのにまあ15分もかからないと思うね
リファクタリングしてなかったらこれは絶望的だよ
2017/10/16(月) 21:24:30.99ID:HJ2RVhMCM
>>214
MacはOSを途中で変えた
古いOSは改修に次ぐ改修で複雑に絡み合いリファクタリングすらできず
将来性がなかったから

windowsだって10までバージョンがあがったけど
そこまでのOSの変更費用は利用者が払ってる
将来性や利点があるならちゃんと説明して金をとるべき
2017/10/16(月) 21:26:54.92ID:Qeq9VPfc0
リファクタリングは組み直しだろ。
なんでやるのかっつーと、いろんな意味でその次を楽にするため。
次の改修だったり、次の案件に使いたかったり。
ただし、それは改修と併せてやってはいかん。
改修、つまり「今より良くするもの」「悪いものを直すもの」の正しい評価ができん。

会社でやるなら、金の出処は研究開発扱いとしてやるしか無い物だと思うわ。
機械で言うと「新素材の研究が一段落していい感じだったんで、それ使ってネジのコストカットしました」とか「量産安定してきたんで金型のランナーをちょっと樹脂ケチる感じに引き直しました」とかそんなレベルの話。
もし客にバレたなら、単なる不具合の改修でしかない。
2017/10/16(月) 21:26:56.03ID:rY47nFh2M
>>220
それも簡単に対応できるね
ネットワークの状態を見てスイッチングするデコレーターを作るだけでしょ

リファクタリングしてなかったらあっという間に炎上する案件だよねこれって
2017/10/16(月) 21:28:07.20ID:BTwHB29Wa
>>221
どのデータがネットワークからでどのデータが設定ファイルからかわからないのに?
自由に変えられるように組んであるの?
2017/10/16(月) 21:28:59.41ID:BTwHB29Wa
>>223
だから次の仕様が明確にならないと意味ないって
2017/10/16(月) 21:29:59.81ID:BTwHB29Wa
>>224
そもそもそれは俺が言ってから君がリファクタリングの方法を変えてるだけで
実際はもう対応できてないじゃん
2017/10/16(月) 21:33:18.73ID:wMyYGjmV0
アウアウオー Sa63-qY8G
ワントンキン MMd3-pbEI
板違いで真っ赤とかNG推奨
2017/10/16(月) 21:33:19.62ID:rY47nFh2M
>>225
仕様はあるんだろ?
それ見て作ればいいだけ

なんならそれも設定から読むようにしようか?
ルート設定情報を見てファイルかネットワークか選ぶ
ネットワークが死んでたら何回かリトライ
それでもダメならファイルから
ファイルがダメなら埋め込みデフォルト値
みたいな感じで

リファクタリングしてれば簡単にできるぞ
2017/10/16(月) 21:34:59.19ID:Qeq9VPfc0
>>193
不思議なもんで、理解はできるが、なんでこうなってんのかわかんねえ、って半日悩んで、スクラッチすっか、と最低限の条件からだんだん込み入った事書いてくと最終的に「これ最適解じゃん。すげぇ」ってなる事あるな。
Fortranの処理系のメンテしたほうがマシ、と言う結論に至った事がある。

>>226
次の仕様に合わせてやるのは、対応。
そうじゃなくて、「これ事故りそうだな、今手が空いてるから直しとくか」がリファクタリング。
フツーに仕事してたら納期次第で不味い手を打たざるを得ない事もあるしな。
32767回目で死ぬ事がわかってる、年に100回しか打たれないはずのコマンド、とか。
何故かそういう物に限って変な活用されたり、10年生きてたりする。
2017/10/16(月) 21:35:00.32ID:BTwHB29Wa
そもそも設定ファイルの読み込みルーチンだけど
すでに納めた客の対応はどうするの?
変えちゃうのはいいけどさ
動いて無いとまずいんちゃう?

インターフェースで対応できるの?
2017/10/16(月) 21:35:17.50ID:TyTVOwnW0
お前ら、プログラムの仕様を変えたらリファクタリングじゃねーわw
2017/10/16(月) 21:36:09.29ID:Qeq9VPfc0
>>231
出しても出さなくても良いのがリファクタリング。
2017/10/16(月) 21:36:12.54ID:rY47nFh2M
>>226
仕様が曖昧なときほどリファクタリングは有効だよ
リファクタリングしてないと全く身動き取れない
リファクタリングしてあれば暫定で進められる
確定したらごく僅かな工数で本実装に切り替え可能
仕様が確定するまでの待ち時間の金は誰が払うんだ?
あれがこれが決まってないから進められないなんて泣き言は顧客は聞いてくれないぞ?
2017/10/16(月) 21:38:24.34ID:rY47nFh2M
>>228
あ〜それは悪かった
専ブラだとスレタイが目に入らないんだよね
オブジェクト指向スレかなんかと勘違いしてたわ
2017/10/16(月) 21:39:10.27ID:BTwHB29Wa
そんなパッケージ販売みたいの視野に入れるなら
○○様向け読み込み処理とか
すっげー勢いででき続けるけどな
すでに動いてる部分をぶっ壊すなんて最早正気ではないな
2017/10/16(月) 21:39:22.24ID:Qeq9VPfc0
充分にモジュール化されてれば、可換な筈だからな。
それが仕様。
中身がどう変わろうが、口はUSBです。これも仕様。
口がどう変わろうが、テキストの電文でやりとりしてます。これも仕様。

どんなキーボード繋いでもHIDデバイスとして認識出来れば文字が打てます。そんなもん。
ボタンの改良でパソコン買い替えてたら世話無いだろ。
2017/10/16(月) 21:41:43.16ID:BTwHB29Wa
>>237
でもね
メモリだけ増やしたいなぁって思っても
SSDにしたいなぁって思っても
マザボごと全部交換必須

これが現実
2017/10/16(月) 21:41:47.00ID:Qeq9VPfc0
>>236
パッケージ売りするなら、で全然パッケージ売りしてねえじゃんw
普通は帳票パックとか売るんじゃねえの?ソフト屋って。

コストで悩むのは理解できるが、だから研究開発費なんだよ。
2017/10/16(月) 21:42:18.91ID:Qeq9VPfc0
>>238
全然現実じゃなくない…?
どんな商売してるの?
2017/10/16(月) 21:45:48.80ID:z1iVQjyz0
バグだらけでリファクタリングできない頭の見本市がこちらです
2017/10/16(月) 21:45:59.06ID:BTwHB29Wa
>>239
マジで
個別対応で金貰う商売だと思ってたぜ
2017/10/16(月) 21:46:37.96ID:BTwHB29Wa
>>241
京都市とシステムズにも言ってやれ
2017/10/16(月) 21:48:06.53ID:4cngaiV60
ワッチョイ!ワッチョイ!
2017/10/16(月) 21:49:20.03ID:1MDONeW40
>>243
スレチだ死ね
2017/10/16(月) 21:49:50.50ID:Qeq9VPfc0
>>242
なんで個別対応で金取れるかわかってる?
個別対応部分が可換だからだろ?
単に経験浅すぎて仕組みがわかってないだけだと思いたいな。
2017/10/16(月) 21:59:40.70ID:BTwHB29Wa
>>246
いいけど
すべての個別対応を一つのソースにぶち込みつつ保守してくって無理だと思うぜ
扱うデータ自体が違うのにインターフェースもクソもねーし
2017/10/16(月) 22:03:15.56ID:Qeq9VPfc0
>>247
なんで一つのソースにしちゃうかな?
インターフェイスが統一されてれば、違うソース、違うリポジトリで充分でしょ?
扱うデータが違うのに云々ってのは、コンテナ形式のファイル見たら皆がどうやって回避してきたか理解できると思うわ。
DICOMまでガチの話でもなく、tiffファイルのフォーマット眺めるだけで充分わかる。
2017/10/16(月) 22:05:59.28ID:BTwHB29Wa
>>248
だからされねーだろ
データが違うんだから
始点と幅と高さでもっても
中点と幅と高さでもっても
四角は四角なんだよ
2017/10/16(月) 22:07:30.95ID:9dpoOU7Ld
>>249
スレチ死ねよ
2017/10/16(月) 22:12:07.91ID:Qeq9VPfc0
>>249
内容に惑わされ過ぎだろ。
始点と幅と高さでできてる四角(四角A)と、中点と幅と高さで出来てる四角(四角B)であろうと、
ただのデータなんだから。
「四角」ってスーパークラス切り出して、「どちらかはわからんが、四角には変わりない。どっちかはそれぞれ読み手が考えるように。」ってデータ型を用意するのがリファクタリングだよ。
そしたら、図形ってデータ型が出来たり、面積のある図形ってインターフェイスが出来たりするだろうね。
typeof演算子の存在意義に疑問を持ってる類の人間なのかな。
2017/10/16(月) 22:13:13.51ID:Qeq9VPfc0
インターフェイスについて突っ込まれそうだけど、シリアライズしてXMLにでもしときゃ、容量は食うだろうけど、C#でならだいたい何とかなる。
2017/10/16(月) 22:20:04.33ID:BTwHB29Wa
>>251
あめーんだよ
お前想像力がたんねーから
インターフェースでなんでも対応できる気がすんだよ

ちなみに中点、右幅、左幅、上幅、下幅指定は中点で回転するからその指定で回転角も付く
同じ四角だってすでに別もんの場合もある
こういうのたくさんあり過ぎて現実にはインターフェースなんてなんの役にもたたねーだろ
2017/10/16(月) 22:30:15.71ID:rY47nFh2M
インフラも依存性もないたかが四角形クラスでインターフェース否定した気になっちゃったの?
2017/10/16(月) 22:36:38.15ID:BTwHB29Wa
>>254
じゃあ、さっきのネットワークからデータをとる話にしたってバカがインターフェースで対応できるとか言ってたけど
実際はデータ毎に取得日時も保存しておかないと
最新かどうかわからないよねw

アホだからこんなもんで対応できると思うんやで
2017/10/16(月) 22:38:01.06ID:1MDONeW40
>>255
いい加減キチガイは死ねよ
2017/10/16(月) 22:38:28.89ID:JV3CytDXd
>>255
消えろカス
2017/10/16(月) 22:44:52.51ID:BTwHB29Wa
>>256
( ‘д‘⊂彡☆))Д´) パーン
>>257
( ‘д‘⊂彡☆))Д´) パーン

(*゚∀゚)なんで殴られたか言ってみろ!
2017/10/16(月) 22:46:33.16ID:HJ2RVhMCM
いったい何のスレなんだ?
2017/10/16(月) 22:46:57.67ID:GvNya7OCd
>>258
死ね
2017/10/16(月) 22:58:47.99ID:4cngaiV60
>>259
ID真っ赤な人を愛でるスレです
262デフォルトの名無しさん (ワッチョイ 5975-dPak)
垢版 |
2017/10/16(月) 23:04:07.75ID:LTsOqA5h0
伸びすぎだろ
おまえらってこういう話題になるとイキイキするのな
会社ではモテない頼りない無能社員のくせに
2017/10/17(火) 00:34:03.66ID:GZgPL7cm0
>>253
だから、統一できるコンテナフォーマットな形式のデータ入れに突っ込んでしまって、
必要な奴が必要な分だけパースするんよね。

ホントに実務経験あるの?甘くない?

>>255
横からだけど「取得したデータ」は「取得した何か」を継承してたり、「取得した日付」を取得するインターフェイスがあれば充分でしょ。

無知でした、ごめんなさい。が言えるのもエンジニアとして大切だと思うが、いかがなもんかのう。
2017/10/17(火) 00:38:20.31ID:cWqis51L0
>>263
キチガイに触んなすな
2017/10/17(火) 00:41:19.24ID:EkZQ3MrW0
まだやってやがる
始発に飛び込んで死ねよ
2017/10/17(火) 00:45:14.10ID:7pWr2cdn0
死んでも、俺がザオリクを唱えてあげるからな
267デフォルトの名無しさん (ワッチョイ 798a-BSx0)
垢版 |
2017/10/17(火) 01:10:49.63ID:0KKPzkG80
スレチ指摘されても理解できない頭のヤツにリファクタリングの必要性説いてどうすんの
2017/10/17(火) 08:19:27.73ID:kX2KiqXMd
確かに。無駄に伸ばしてすまん。
2017/10/17(火) 19:01:31.69ID:YbpTy6K90
最近独学で勉強始めたんだけど難しすぎる…
自分で考えたり工夫する能力がないんだろうな
自分がやりたい事と全く同じサンプルが無いと何も出来ない
みんなどうやって見につけたんだ?
やっぱアホには無理なのかな
2017/10/17(火) 19:09:25.19ID:exorZDFN0
>>269
できることからやればいい
できないことをやろうとすると達成感が得られなくてやる気が無くなるループになる
自分の頭の中で必要な要件を切り分けられないものには手を出すな
サンプルは全く同じものがあるはずがないので近いものを探す。一つだけでなくいくつも探す
2017/10/17(火) 19:34:46.70ID:owv2SIUK0
>>269
c#ってかなり難しいと思うよ。
抽象的な概念がかなりある。
今は、ひたすら写経に励めよ。
2017/10/17(火) 19:36:25.48ID:owv2SIUK0
c#がそれなりに使えるのには5年は掛かるね。
表面上使いこなせるのには他の言語を知ってりゃ3か月だ。
2017/10/17(火) 19:38:37.05ID:GZgPL7cm0
>>269
やりたい事を初めて見た他人が代わりにできるくらいのメモにまとめて、それをコードに落としていけば良いんじゃない?
最初は言語の機能全部使う必要無いんだから。
そのうち、これ毎回書くな…とか思ったら、そういう機能があるかどうか調べたら良い。大体ある。
2017/10/17(火) 19:53:24.64ID:YbpTy6K90
>>269です
レスありがとう
最近仕事で使うことになって人生初のプログラミングを経験中なんだけど何もかも分からないから質問も出来ないし、しても分からないし、何回か聞くともっと自分で考えてやれみたいな感じだから毎日悩みっぱなしだ
出来ることから地道にやれたら良いんだけど仕事だからなかなか厳しいね…

とりあえず独習って本を読んだり試してまずは基礎をしっかり理解するようにしてる
みんなもひたすらサンプルを書いたりして理解して行った感じなのかな
2017/10/17(火) 19:59:57.62ID:U8+gWhs5r
C#難しいのかなあ?
自分はこんな便利なのか!と感動したけど
2017/10/17(火) 20:05:06.59ID:Rn8Nldlma
>>274
作りながら覚える本のがいいよ
俺は
まあ、人によるけど
2017/10/17(火) 20:33:03.63ID:O+BDW8AjM
C++先にやっとけばC#は凄く簡単
278デフォルトの名無しさん (ガックシ 06eb-dPak)
垢版 |
2017/10/17(火) 20:33:14.23ID:FJCAd6676
C#が難しいってオブジェクト志向な設計が難しいってこと?
2017/10/17(火) 20:43:58.37ID:Q467/Wh20
C#が難しいんじゃなくて、
オブジェクト指向が難しいとかプログラミング自体が難しいって話だな
280デフォルトの名無しさん (ワッチョイ 798a-BSx0)
垢版 |
2017/10/17(火) 21:04:44.09ID:0KKPzkG80
>>275
それは他言語経験者の感想やろ
2017/10/17(火) 21:30:09.12ID:O+BDW8AjM
初心者はC#のどこで躓くんだろう
ラムダか?
2017/10/17(火) 21:50:31.65ID:OjUPM8wm0
>>281
上の人は、C#特有の要素がどうこう以前に
プログラミングその物で躓いてるからなあ

多言語経験者がC#特有の要素で躓くとしたら、デリゲートじゃないの
2017/10/17(火) 22:01:11.01ID:opt3bdnY0
>>271
射精なら励んでるんだけど・・
2017/10/17(火) 22:02:28.67ID:opt3bdnY0
>>274
おれも独学だけど、ここの人達は何だかんだで面倒見いいから、頼るといい。
2017/10/17(火) 22:22:32.10ID:umFbfT/c0
最初、文法だけを説明している入門書(猫でも〜)で勉強したけど
「インターフェース? 規約だけを定めたもの? 具体的に何の役に立つんだ?」
「構造体? クラスとどう使い分けるんだ?」
「デリゲート? C/C++の関数へのポインタみたいなもの? Cなんて知らんがな」
みたいな疑問が次々と湧くのに解決されないまま、文法の丸暗記だけしてる感があってしんどかった
サンプルコードも、最低限の説明用のシンプルすぎるもので、実用性っぽいものが皆無だったし

もう少し丁寧に解説してる本から始めればよかった
2017/10/17(火) 22:37:26.16ID:YbpTy6K90
>>284
ありがとう
馬鹿だから質問すらなんて聞いて良いか分からないんだけどね

入門書みたいなのは何冊か読んだり試したりして、コード見ればぼんやりこういう事してるんだなっていうのは分かるんだけど、いざ自分で1からやろうと思うと何も書き出せなかったりする
>>285が言うようにこれが何に活きてくるんだ?っていうような疑問も沢山あるし…
実務だとアプリ作ってって仕様書渡されてデータベースから値をとって加工してグリッドに表示させたりとか、何かたった一行でも表示させるのに丸一日かかって結局分からないとかも多々ある
機転が利かないっていうか自分で考えてこういう風に組み替えたり応用したりしようってのが出来ない…
知識が付けば出来るようになるのかな

愚痴吐いてごめん
勉強してきます
2017/10/17(火) 23:06:15.45ID:O+BDW8AjM
とりあえずデータベースとグリッドの事は忘れてコンソールアプリを作るべきだ
最近の若者は順序がめちゃくちゃ
2017/10/17(火) 23:26:36.50ID:9CwiJQBWM
Webだと仕組みを理解すれば案外コンソールと変わんなかったりするけどね
2017/10/17(火) 23:49:29.75ID:OjUPM8wm0
「言語その物の機能」と
「外部の物にアクセスする手段」とは、分けて学習するべきだわな
290デフォルトの名無しさん (アウアウカー Sad5-vbd7)
垢版 |
2017/10/18(水) 01:03:17.80ID:3+TwrJNfa
非常に申し訳ないんですがLINQの質問いいですか?
インデックスが対応する二つの配列A、Bがあります
Aには氏(string)、Bには性(bool)が入っていて
女性で田中が何人いるってのは、どう書けばいいですか?
2017/10/18(水) 01:10:27.98ID:vo9W3JA50
>>290
A.Zip(B, (a, b) => new { a, b }).Where(ab => IsFemale(ab.b) && ab.a == "田中").Count()
2017/10/18(水) 01:14:46.91ID:BXrTaZiI0
>>285
「猫でもC#」は「スッキリわかる Java入門 第2版、2014」で、
オブジェクト指向を学んだ人向け

本当の素人には、向いていない
293デフォルトの名無しさん (アウアウカー Sad5-vbd7)
垢版 |
2017/10/18(水) 01:27:09.70ID:3+TwrJNfa
>>291
ありがとうございます
結構難しいですね。解読して勉強させて頂きます
2017/10/18(水) 02:39:15.39ID:iR/4ihsX0
>>291
Whereいらない Countが条件節取れる
2017/10/18(水) 03:21:25.19ID:x50wQsAO0
>>288
ASP.NET Coreはコンソールアプリだしね
2017/10/18(水) 04:11:05.14ID:f/O0/ZtAH
>>293
A.Zip(B, (a, b) => new { a, b })
.Where(ab => IsFemale(ab.b) && ab.a == "田中")
.Count()

改行するだけで随分理解しやすくなるはず

A.Zip(B, (a, b) => new { a, b })
.Count(ab => IsFemale(ab.b) && ab.a == "田中")

Where要らないの意味も解りやすくなるはず
2017/10/18(水) 06:16:24.19ID:qUhUKvGj0
>>292
猫でもはどのシリーズも薦めない。
298デフォルトの名無しさん (スププ Sd33-iAGE)
垢版 |
2017/10/18(水) 07:51:54.79ID:vI9phIcRd
>>286
上級者がどうやって作ってるかを見て、自分が思ったやり方と違う部分を見つけて意図を聞くのがいいかも

まぁ相手が付き合ってくれることが前提だけど

どのみち初学者の場合、学習曲線はある程度学んだ時点から一気に上昇するもんなので、最初はコツコツ疑問を潰すしかないよ
299デフォルトの名無しさん (ワッチョイ 798a-iAGE)
垢版 |
2017/10/18(水) 07:54:10.74ID:W+0BZmzB0
あと同じような内容でも入門書は評判の高い順に何冊か読んだ方がいい

自分に合った説明が一冊の中に全部詰まってる事なんてないから
2017/10/18(水) 08:19:01.99ID:Uigi9MZrM
じゃ河西本やな
2017/10/18(水) 08:27:03.75ID:DAWWUo8AM
>>290
name[100], age[100] みたいにデータを列持ちするのは現代的なプログラミングにおいては非常に悪い作法なので今すぐやめたほうがいい
クラスを作って行単位で持つのが基本
2017/10/18(水) 12:35:54.11ID:uKmp6sxaM
>>290
氏名と性別を持ってるクラスのListにしたほうがいいよ
2017/10/18(水) 12:36:22.87ID:uKmp6sxaM
>>301
書いてあったw
304デフォルトの名無しさん (ガックシ 06eb-dPak)
垢版 |
2017/10/18(水) 13:54:21.47ID:M3PcmRrI6
クラスと構造体の使い分けを教えてくれ
2017/10/18(水) 13:58:44.93ID:pBm/jvOsa
>>304
処理を付加したかったり読み書き制限したりしたかったらクラスと言うか、構造体でできることはクラスで全部できるからあえて構造体を選ぶ場面は少なくないか
2017/10/18(水) 14:30:35.20ID:YSC60BKkM
>>304
win32api呼び出す時以外は使い道ないかも。
2017/10/18(水) 17:29:04.28ID:jNhOnQNR0
別に構造体でないとPInvokeできないということはないはずだが
StructLayoutはクラスのレイアウトも制御できるわけで
2017/10/18(水) 17:49:30.20ID:J95CPfXbM
ポインタじゃなくて構造体のコピー寄越せって関数とか
2017/10/18(水) 17:54:28.88ID:MMY2jKS6d
>>304
十分小さい時は構造体の方がパフォーマンスがいい
2017/10/18(水) 17:54:33.85ID:GswCLlj60
>>304
C/C++連携かパフォーマンス最適化か

1. Microsoft (2008)
1) It logically represents a single value, similar to primitive types (int, double, etc.).
2) It has an instance size under 16 bytes.
3) It is immutable.
4) It will not have to be boxed frequently.
https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/choosing-between-class-and-struct

2. Effective C# 2nd(2010)
1) Is the main responsability of the type data storage?
2) Is its public interface defined entirely by properties that access or modify its data members?
3) Are you sure your type will never have subclasses?
4) Are you sure your type will never be treated polymorphically?

3. とあるStackOverflowの回答
1) You use structs for performance when stored in arrays.
2) You need them in code passing structured data to/from C/C++
3) Do not use structs unless you need them:
https://stackoverflow.com/a/598268
2017/10/18(水) 18:14:03.46ID:f/O0/ZtAH
>>304
明らかにその場で使い捨てなら構造体
2017/10/18(水) 18:23:14.37ID:a0tZ3XvZ0
16バイト以下なら構造体
2017/10/18(水) 18:24:25.72ID:9gwGUiRxd
>>304
ゼロ初期化で良いものでshort3つとか小さいものは、クラスより遥かに軽いので、万の桁で呼ぶなら構造体にする。
あとGCで回収させずに、メソッド終わったら即捨てたいものとか。これもそのメソッドを頻繁に呼ぶ時に。
小さい構造体はヒープではなくてスタックに置かれて、抜けたら無くなるので効率とかより、GCが呼ばれてる暇がなくてもちゃんと開放される。

よく使うのは、挙がってるの以外だと描画周りに使う事ある。

ちなみに、処理を付加すると言うか、メソッド生やすのは拡張メソッドで無理が効くようになったから、関数載せたい、でも関数の参照持たせたくない!もかなりなんとかなる。
2017/10/18(水) 22:59:59.74ID:K9flraWY0
値っぽいやつは構造体
2017/10/19(木) 06:04:01.12ID:eqdHlWFS0
ふと思ったのですが、メソッドで匿名型クラスのインスタンスを返すことってできますか?
返すことができるなら返り値の型になんて書けばいいのでしょうか?Typeはだめでした
2017/10/19(木) 07:15:50.96ID:8WeFWhTb0
あえていうならdynamicだけどメソッド超えるなら匿名型は諦めよう
2017/10/19(木) 08:07:39.54ID:hoxSwRGJH
今ならタプル返せばよい
2017/10/19(木) 09:32:28.99ID:mqSZ6mSda
C#の絵本第2版出てるな
2017/10/20(金) 02:56:07.82ID:iR2BGy9F0
文字列型のIdプロパティも持つクラスHogeのリストList<Hoge>からIdのカンマ区切りの文字列を求めたいのですが、
普通にやると
string.join(",", items.Select(i => i.Id));
とループが2回走るんですが、これをLINQか何かで1回のループで求められるでしょうか??
2017/10/20(金) 03:17:26.49ID:InyPVBX00
>>319
string.JoinにIEnumerable<string>渡してるから、そのままでループは1回になるんじゃないか
2017/10/20(金) 03:50:32.91ID:PY8ywvH80
自分でループまわして連結すればいいんじゃないか
2017/10/20(金) 04:34:32.44ID:iR2BGy9F0
>>320
items.Select(i => i.Id)
あれ、このSelectでもう1回ループまわる??
よくわかんなくなってきた
2017/10/20(金) 04:36:29.82ID:iR2BGy9F0
ああ。Selectでループ回らないか。
2017/10/20(金) 05:12:35.17ID:NH12zMgi0
vb.netを何年か使って仕事してたのですが、c#に移行していくことになったのでc#の学習を始めようと思っているのですが、おすすめの書籍はありますか?
325デフォルトの名無しさん (ワッチョイ 4e8a-sQMv)
垢版 |
2017/10/20(金) 06:26:42.31ID:2DRMxDJ60
>>324
Effictive C#とか
古いけど
2017/10/20(金) 06:38:32.06ID:l3SzA2hHM
実戦で役立つC#のイディオムなんちゃら
割とよかった
基本をサッと把握するにはこれで良いと思う
基本を抑えたらCLR via C#とか読むべき
dotnet coreならマイクロソフトのドキュメントかな
アップデートが速すぎて本が出ない
2017/10/20(金) 07:08:41.55ID:NH12zMgi0
>>325
>>326
ありがとうございます。
基礎を理解するのに、独習C#かオライリーのC#の購入も検討していたのですが、その2冊についてはいかがでしょうか?
あまり役に立たない様なら、おすすめいただいた3冊を購入してみようと思います。
328デフォルトの名無しさん (ワッチョイ 4e8a-sQMv)
垢版 |
2017/10/20(金) 07:29:07.74ID:2DRMxDJ60
>>327
正直最初の一冊は好きなの選べばいいよ
それで足りないと思ったらここを含めてお勧めされてる本をレビューなんかで評価の高い順に読めばいい
どの本の内容があんたに合ってるかはあんたにしかわからんのだから
2017/10/20(金) 09:14:18.94ID:zf8EG0F60
誤植がない本がいいよ
C#始めた頃に買った入門本で、「なんでこうなるんだろう・・・」と嵌まって時間浪費したことがある
誤植に気づけるまでのレベルなら流せる問題が、一言一句読み解きながら進めてるときに
誤植にあたると学習コストが無駄に跳ね上がる
まぁ、読む前にそれを気づくのは至難の業だから、評価高い本と初版避けることくらいしか方法ないけど
2017/10/20(金) 12:43:09.38ID:l+99Dkv9a
>>324
VB何年かやってたなら@ITの記事を一通り斜め読みするだけでも十分でしょ
2017/10/20(金) 12:45:00.04ID:RDZrWMpbM
>>329
そう言うのこそ
なんでこうなるのだろう?
って思った時にここで聞けばいいんじゃね?
2017/10/20(金) 13:02:30.91ID:kQTzxkDwa
この業界歴史が浅いから本が必ず正しいことを言っているとは限らない点も注意だな
長くたって結局将棋とか過去の棋譜を使わないほうが強くなったらしいし
未来は自分で切り開くんだよend
2017/10/20(金) 13:10:28.70ID:Qvu1f4hHH
ここで聞くのは一番やっちゃいけないことだと思う
2017/10/20(金) 13:25:54.62ID:kQTzxkDwa
>>333
じゃあ、オススメを貼れよグズ
2017/10/20(金) 14:00:27.64ID:QjnViytCM
>>333
ある意味、正論だな。
ここで回答してる奴でここで質問したことのある奴は殆ど居ないんじゃないのかな。
2017/10/20(金) 14:08:15.33ID:kQTzxkDwa
>>335
してるよ!
c#の構文解析でいいライブラリねーの?
って聞いてから返答ないままだよ!
2017/10/20(金) 14:08:31.02ID:QjnViytCM
>>334
StackOverflow英語版かな?
2017/10/20(金) 14:14:34.61ID:QjnViytCM
>>336
凄いアバウトな聞き方w
じゃ、.NET Frameworkって回答しとく。
2017/10/20(金) 14:27:12.08ID:kQTzxkDwa
>>338
あんの?
確かに計算式はやってくれんだよね
2017/10/20(金) 14:31:27.58ID:kQTzxkDwa
具体的には処理フローを出力したい
reflectionでやれればそれでもいいし
ソースの文字列から構文木的なものを返してくれるならそれでもいいし
2017/10/20(金) 14:35:43.81ID:QjnViytCM
>>339
Roslyn関連のライブラリって構文解析してくれるんじゃないの?
2017/10/20(金) 14:41:43.45ID:QjnViytCM
>>340
それ、初心者スレで聞く内容かw.
2017/10/20(金) 14:53:31.10ID:kQTzxkDwa
>>341
おお!
行けそう!行けそう!
ありがとうございました!
まさかこんなものが出てるとは
2017/10/20(金) 15:41:21.62ID:QjnViytCM
>>343
解決かw
2017/10/20(金) 15:52:51.14ID:kQTzxkDwa
>>344
いや、まだわかんない
2017/10/20(金) 16:00:55.66ID:+VbZElimd
偉そうなこと言っときながらRoslynも知らないとはwww
2017/10/20(金) 16:06:52.51ID:QjnViytCM
>>346
c#の追っかけしてるファンじゃないと知らんわ
2017/10/20(金) 16:11:32.61ID:kQTzxkDwa
>>347
少なくとも追加されてから
c# 構文解析
でググり続けた俺にはかすりもしなかったねw
2017/10/20(金) 16:26:31.24ID:QjnViytCM
>>348
グーグル先生の5番目のご神託にでるが
350デフォルトの名無しさん (ガックシ 06ee-G561)
垢版 |
2017/10/20(金) 16:28:33.99ID:3KJGg1dF6
VSで使われてるコンパイラだろ?そんなの俺でも知っとるわ。
2017/10/20(金) 16:44:44.00ID:kQTzxkDwa
>>349
うん、普通に出るね
多分1年前ぐらいにググって
無かったから2〜3番目ぐらい見て
華麗にスルーしてたんでは無いかと
2017/10/20(金) 17:00:35.99ID:dPxZWMqc0
構文解析に興味を持つようなやつがRoslynすら知らないとは
2017/10/20(金) 17:01:23.38ID:gEmQ2eLHd
>>347
じゃあ構文解析なんて無理だから諦めた方がいいよ
2017/10/20(金) 17:04:37.96ID:MLgxPClpa
初心者スレでロズリン知らないのと叩く滑稽さ
355デフォルトの名無しさん (ワッチョイ ddb3-0MKJ)
垢版 |
2017/10/20(金) 17:05:34.41ID:umJD7f7O0
ヒストリカルに字句解析と構文解析が何故分かれているのか疑問に感じるバカは多いと思う。
俺もバカの一員として分けなくてもエエやん?と思い実際に作ってみたら、何故分かれているのか体感したという。
2017/10/20(金) 17:08:58.31ID:QjnViytCM
>>353
なんでオレに言うかw
357デフォルトの名無しさん (ワッチョイ ddb3-0MKJ)
垢版 |
2017/10/20(金) 17:10:01.08ID:umJD7f7O0
忙しい現代社会。
すぐレスしてくれそうだからではないか。
2017/10/20(金) 17:19:16.72ID:kQTzxkDwa
>>352
実際あんまり興味無い
こんな言語マニアしか食いつかないようなもんで
人生費やすのはゴメンだった

だからアイディアはあったけど
構文木作成部は保留にしてお蔵入り状態にしてた
359デフォルトの名無しさん (ガックシ 06ee-G561)
垢版 |
2017/10/20(金) 18:30:23.02ID:3KJGg1dF6
なに作ってるの?
2017/10/20(金) 18:44:07.33ID:iVvWVDwWa
>>359
処理フロー作成ツール
2017/10/20(金) 19:39:37.53ID:XWAUmrTl0
>>360
Excel方眼紙に出力してくれ。
低レベルのSIerに納品する資料に使える。
スマン、低レベルはSIerのデフォだったかwww
2017/10/20(金) 19:49:32.49ID:BrAKv0lza
>>361
それも考えたんだけど
自宅にexcelってないんだよね
なんで文字と図形と線を出力できるような簡単なベクトルデータってないんけ?
と思ったら笑っちゃうぐらい無くてさ
とりあえず画像データでええかー
的な
機械的に処理フローを
描画するc#のコードを吐き出して
画像で保存
2017/10/20(金) 19:52:26.05ID:XWAUmrTl0
>>362
XPS, SVG, PostScript知らんのんけ?
2017/10/20(金) 19:55:44.74ID:HK8N625v0
まあC#でやるならXPSでいいな
2017/10/20(金) 20:01:09.91ID:BrAKv0lza
>>363
だから編集できねぇじゃんそれじゃ
画像と変わんないよ

個人でwordとかフォトショとかイラレとか持ってるなら別ですが
2017/10/20(金) 20:02:30.25ID:VNKX5uBs0
ここは初心者の質問スレです
雑談したいのなら他へ行ってください
2017/10/20(金) 20:05:52.61ID:XWAUmrTl0
>>365
じゃ、Open XML SDKを使ってExcel出力すれば?
Open XMLの仕様書ってpdfで6000ページほどあるが君なら楽勝たろ。
2017/10/20(金) 20:05:56.74ID:BrAKv0lza
じゃあ、最後、svgならincscapeでいけんだね
こいつ日本語扱えた覚えがないからスルーしてたけど
時代は変わったのかとりあえずフォーマット知らねーけどやってみるわ
369デフォルトの名無しさん (ワッチョイ ddb3-0MKJ)
垢版 |
2017/10/20(金) 20:07:44.87ID:umJD7f7O0
末尾に#どう思いますか?という行を付け加えれば質問風に雑談できるのでは?
2017/10/20(金) 20:14:20.09ID:XWAUmrTl0
>>366
質問してこの流れを変えればええのだ
371デフォルトの名無しさん (ワッチョイ c575-G561)
垢版 |
2017/10/20(金) 20:19:36.38ID:QPjbx7Pr0
おまえ、なんかウザいから氏んでくれ。
2017/10/20(金) 20:23:46.20ID:bKuGhauuM
>>371
お前が死ねば?
相対的には同じだw
2017/10/20(金) 20:35:27.08ID:36f4Sv1zM
>>362
Windows なら Enhanced Meta File でいいんじゃね?
c# emf 作成
とかでググれば作り方はわかると思う
374デフォルトの名無しさん (ワッチョイ 4e8a-/wYC)
垢版 |
2017/10/20(金) 20:51:02.95ID:vd2jZWHS0
いつまでスレチ続けるんだクズども
2017/10/20(金) 20:56:22.63ID:BrAKv0lza
>>373
ありがとう
svgと合わせて調べてみます

>>374
なんか話したい話題があるなら質問しろ
376デフォルトの名無しさん (ワッチョイ c575-G561)
垢版 |
2017/10/20(金) 21:08:47.27ID:QPjbx7Pr0
>>372
slip見て自演バレバレ
2017/10/20(金) 22:46:03.30ID:h+e+zHrd0
>>375
御託はいいから新小岩駅に行ってNEXに飛び込んで死ね
2017/10/21(土) 04:38:43.15ID:J3/Oov/oa
>>377
スレ違いどころか
板すらあってないじゃんw
2017/10/23(月) 09:42:48.16ID:iZTfc9Gp0
プロパティとメソッドの使い分けってどうするのです?

例えばクラスが持ってるリストの件数を返すCountとか、ある項目が存在するかどうかを返すIsItemExistとか
こういうのはプロパティかメソッドかどっちで実装するのです?
2017/10/23(月) 09:58:16.86ID:WjGqLCS1M
>>379
クラスの内部状態を返すのならプロパティでしょ。
2017/10/23(月) 10:13:47.78ID:zzY32qse0
DIでInjectしたServiceは、フィールドに保持する?それともプロパティに保持する?
どっちも見かけるから、皆さんどういう風に使い分けてるかなと
2017/10/23(月) 10:47:51.67ID:UXX8AsCPa
困ったら全部getなんちゃらでメソッドにしちゃえばいいじゃん(適当)
Isなんちゃらはプロパティでね、大抵
2017/10/23(月) 10:50:57.14ID:ebDYa8pU0
>>381
オレはパブリックはプロバティーでプライベートはフィールドってのが軸だな
勿論例外もある

つまりコンストラクター使ってDIならフィールドかな
2017/10/23(月) 10:57:06.62ID:WjGqLCS1M
MSが自動実装プロパティなんて作るから
2017/10/23(月) 11:15:16.91ID:UZkZRiTF0
IsItemExistって何だよ…噓だろ…
2017/10/23(月) 11:33:35.62ID:Y7RvEsYBd
>>383
ありがとう
2017/10/23(月) 12:29:52.29ID:UXX8AsCPa
>>385
確かにw
Isなんちゃらはプロパティ、なんちゃらExistはメソッドってイメージがあるな
2017/10/23(月) 12:42:32.30ID:UiLH3I11M
>>387
動詞が2つ有るって言いたいのだろう。
2017/10/23(月) 13:06:11.13ID:UXX8AsCPa
>>388
ごめん
確かに、はそれが変だなってことにかかってて、そのあとは俺が持ってるイメージの話
分かりにくかったな
2017/10/23(月) 13:11:49.28ID:ZgE4a7c5a
>>389
よこからついでに突っ込むけど、メソッドでexistって動詞を使うこともまずないと思うよ
存在しろって言われても困るでしょうw
〜Exitsというプロパティなら普通にある
2017/10/23(月) 13:17:00.15ID:JL5vrncla
なんか突っ込みどころが多すぎて
登場人物全部抜けてる気がする

File.Exists メソッド
String.IsNullOrEmpty メソッド
2017/10/23(月) 13:23:02.70ID:ZgE4a7c5a
>>391
どっちも静的メソッドだよねそれ

どっちも機能的には明らかにプロパティじゃないのにプロパティ風の名前になってるのは
妥協の産物でしょう。
2017/10/23(月) 14:52:16.08ID:Hm5Sp4K20
>>379
原則状態はプロパティ、動作がメソッド
ただし、利用者はプロパティはループ毎にキャッシュせず読んでもいいくらいに軽い処理だと考える場合があるので、時間がかかるならメソッドにしたほうがよいかも
2017/10/23(月) 19:30:33.33ID:TFf0LeB2M
プロパティはもちろん取得系のメソッドも何度も呼んでいいよ
実測した結果、遅くなってると分かったらキャッシュを導入する
パフォーマンスだけのために説明変数を追加するのはNG
395デフォルトの名無しさん (ワッチョイ c575-G561)
垢版 |
2017/10/23(月) 19:34:24.82ID:HemzWECS0
説明変数とは
2017/10/23(月) 19:50:51.54ID:+URhnDB80
聞きかじりで理解した気になってるからこういう
2017/10/23(月) 20:07:22.56ID:IDuIqN9Mp
>>396
初心者スレでマウントとりたいだけのバカは邪魔なのでわんくまにでも行ってどうぞ
2017/10/23(月) 20:10:22.51ID:TFf0LeB2M
>>395
var cachedUnko = GetBigUnko();
こういうやつ
2017/10/23(月) 20:35:02.50ID:y4/LHG7i0
- IsItemExitsはHasItemに
- Existsは引数を取るので基本メソッド
- IsNull、IsEmpty, HasValue等の問い合わせ系は悩ましいので選択基準を規約で決めておく

問い合わせ系については引数不要で十分チープなら
.NET Frameworkでは基本的にプロパティが使われている
ただメソッドにしないといけないケースも少なからずあるので
個人的にはメソッドに統一しといたほうがいいと思ってる

https://msdn.microsoft.com/en-us/library/ms229054(v=vs.100).aspx
2017/10/23(月) 20:35:25.45ID:VIpRDakhM
回帰分析とかで説明変数って聞くけど他じゃあまり聞かない
2017/10/23(月) 20:39:21.38ID:VIpRDakhM
HasItemってどんなときつかうんだろうか
もしそれがコレクションならContain使うよ

引数ないならプロパティって暴論あるけど
2017/10/23(月) 20:41:00.92ID:y4/LHG7i0
リファクタリングやリーダブルコードにも説明変数って出てくるぞ
2017/10/23(月) 20:41:10.77ID:SUJ4sB5na
それはないと思うよw
説明変数なんて割とよく聞く言葉だと思う。
まあどうでもいいので終了。
2017/10/23(月) 20:41:38.26ID:TFf0LeB2M
bool HasItems => _items.Count() >= 0;
2017/10/23(月) 20:41:43.62ID:VIpRDakhM
>>402
なにか教えてほしい
2017/10/23(月) 20:43:00.01ID:y4/LHG7i0
>>401
if (treasureBox.HasItem) {…}
2017/10/23(月) 20:44:11.93ID:y4/LHG7i0
>>405
>>398
2017/10/23(月) 20:44:50.20ID:VIpRDakhM
>>407
意味が分からないので教えてほしい
2017/10/23(月) 20:45:10.88ID:TFf0LeB2M
>>408
おまじないみたいなもの
2017/10/23(月) 20:48:10.90ID:VIpRDakhM
仕事で統計の説明変数という言葉を使うので
全然別の定義の説明変数という言葉があるなら知っておきたい
2017/10/23(月) 20:48:28.25ID:ANMjmVZtM
>>406
オブジェクト指向の原理主義的には典型的なアンチパターンだよそれ
空なら何もしないとかアイテムが入ってればプレイヤーのアイテム袋に入れるとかは宝箱のOpenメソッドの中に実装するべき
2017/10/23(月) 20:50:20.23ID:SUJ4sB5na
>>408
要するに可読性を上げるためだけに使用される一時変数のこと
数学だったら「ここで〜をxとおくと」みたいなあれ

var count = 3;
var sum = a + b + c;
return sum/count;
2017/10/23(月) 20:56:10.39ID:ed977JSR0
>>410
「プログラミング 説明変数」でググってみては?
2017/10/23(月) 20:58:45.70ID:y4/LHG7i0
>>411
うん、そこは論点じゃないから
IsItemExistな名前はHasItemに変えられるよってこと

>>401はItemという名前からコレクションの要素を連想してるみたいだから
そうじゃないのをイメージしやすい例を出したの
HasSomethingでもいいよ
2017/10/23(月) 22:41:58.44ID:Hm5Sp4K20
>>394
ポリモーフイズムの関係で実測があてにならん状況も多いんだよね
Countは実装依存でo(1)だったりo(n)だったり、データベース呼び出しが走る可能さえある

それに対してLengthプロパティはo(1)でインライン展開されるだろうと高をくくってもだいたい問題ない
ネックになればそのときに測定
2017/10/23(月) 23:09:35.17ID:TFf0LeB2M
>>415
ポリモー関係ないじゃん
もしかしてストップウォッチ派?
2017/10/23(月) 23:39:27.16ID:y4/LHG7i0
>>415
CountプロパティをO(n)で実装するのは良くない
ガイドラインに反してる

CollectionのCountはプロパティで
EnumerableのCountはメソッドになってる理由と同じ
2017/10/24(火) 00:01:28.06ID:7XcVEnvtM
>>413
今ググったらプログラミングで説明変数って使い方をしてるのはごく一部だという印象

一般的に使われてない
2017/10/24(火) 00:09:05.80ID:7XcVEnvtM
統計の説明変数はexplanatory variable

リーダブルコードの人がExplaining Variableという名前を付けて書籍に残した
日本語訳するときに適当な言葉が思いつかなかったので説明変数にした

翻訳者に学がなかった
2017/10/24(火) 00:14:38.95ID:CMLwKKPKa
>>419
酷い言い掛かりw
違う分野でダブってる専門用語なんていくらでもあるだろうに

そもそも変数だって関数だって数学からの借り物だが全然別の意味で使ってる
2017/10/24(火) 00:22:45.84ID:7XcVEnvtM
いやそーいうことじゃなくて日本では同じ表現だけど向こうじゃ別だから厄介

国内でも説明変数で通じるかどうか
422デフォルトの名無しさん (ワッチョイ c575-G561)
垢版 |
2017/10/24(火) 00:41:38.88ID:lU4ejLPG0
もういいよその話
2017/10/24(火) 02:24:33.77ID:2soFq68da
>>421
フツーに考えてexplanatory とexplaining が別の言葉だと思えませんけどw
現に"explanatory variable" "explaining variable"でググると結構混用しちゃってる例が見つかるよ
2017/10/24(火) 02:34:47.38ID:2soFq68da
ついでに、思いっきり脱線で申し訳ないけど、前から疑問に思ってたけど
プログラミングの世界の分割統治はdivide and conquer、
古代ローマの植民地支配戦略の分割統治はdivide and ruleというが、
これもたぶんどっちでも通じると思うんだよね
2017/10/24(火) 02:38:09.67ID:TDbe+Bw3r
自分の知らない言葉が出てきた時に
その人の性格が現れるのかもしれないねw
2017/10/24(火) 02:43:26.14ID:lLS52e6w0
知ったかに喋る権利を与えるなよ
2017/10/24(火) 02:46:51.17ID:lLS52e6w0
396の時点で
馬鹿が一丁前に発狂してしばらくは荒れるんやろなと思っとったが
やはりだろう
まったくクソボケは期待を裏切らないな
2017/10/24(火) 06:55:50.50ID:hsifRvdf0
IList<T>の中身をソートしたいのですがどうすればいいでしょうか?
SortメソッドはListクラスにあってIList<T>インターフェースにはありません。
LINQのOrderByは元のコレクションの中身をソートしませんよね??
IList<T>の中身を直接入れ替えたいのです。
2017/10/24(火) 07:35:45.56ID:A9t42mE4M
>>428
ない
自分でクイックソート実装しろ
2017/10/24(火) 07:53:32.68ID:cp08Hl/JM
>>428
var sorted = ilistobj.OrderBy(...).ToArray();
ilistobj.Clear();
foreach (var item in sorted)
ilistobj.Add(item);
2017/10/24(火) 09:34:12.61ID:Y6LvzYD50
入力フォーム画面から入力されたデータを集めてDBなり別の出力クラスに渡すプログラムを.NET2.0の頃に作った時は、入力フォームとデータクラスの関連付けにBindingとか使ってた記憶あるんだけど、今もその辺は変わってないの?
2017/10/24(火) 09:46:53.52ID:pwJ57chea
使いたければ使えばいいし
使わなくても別に動くし
2017/10/24(火) 09:49:37.38ID:eDzdiXecM
>>431
バインドはもっと進化してる
2017/10/24(火) 11:03:06.97ID:yNkD48rCM
WinFormなら.NET 2.0のあとで機能追加されたのってChartぐらいじゃないっけ
BindingSourceは.NET 2.0でもう入ってたよな
2017/10/24(火) 14:16:13.31ID:TDbe+Bw3r
中身をソートする発想は非常にセンスがよろしくない
2017/10/24(火) 17:02:08.12ID:hsifRvdf0
>>429

>>430
2017/10/24(火) 17:19:30.78ID:VubGQCWPM
>>430
ToArray→Array.Sort→書き戻し
のほうが速いはず
2017/10/24(火) 21:04:22.55ID:Y6LvzYD50
>>433-434
Web漁ってもWPFネタばかりだったわ・・・
2017/10/24(火) 21:51:38.33ID:NHCjs86oa
Formのバインディングはずいぶん前だけどわんくまの人が結構まとまった記事書いてたはず
コードはVBだと思ったが
2017/10/24(火) 21:55:17.75ID:s18UOlL+a
>>439
intの変数とテキストボックスをバインディングして
実行時にテキストボックスに「うんこ」って入れると死ぬじゃん
普通どうやって作るの?
2017/10/24(火) 22:14:43.68ID:lLS52e6w0
脳みそウンコはママにオムツでもしてもらえ
442デフォルトの名無しさん (ワッチョイ c575-G561)
垢版 |
2017/10/24(火) 22:39:01.84ID:lU4ejLPG0
>>440
普通にフォームのTextプロパティと同じ型にするんだろ
2017/10/24(火) 23:18:41.89ID:kX+BI6hp0
前から変なレスしているアウアウオーがいる
アウアウオー Sae2-jbpI
これNGしとけ
2017/10/25(水) 00:11:21.67ID:vZNm40SOa
>>442
でもさ、入れる値は数値なのに一旦文字列にしないとじゃん?
2017/10/25(水) 00:36:46.65ID:WIc18nYy0
>>444
文字列にしないと Text プロパティに値を設定できないじゃん?
2017/10/25(水) 00:37:56.23ID:Q2yRg5qV0
テキストボックスのコントロール側でバリデーションしろよ
2017/10/25(水) 00:41:23.45ID:7bqawKXsa
>>445
数値が欲しくても入力チェックの必要があるときは一旦文字列でもてって言ってる?
2017/10/25(水) 02:32:41.64ID:WIc18nYy0
>>447
Text プロパティは文字列なんだからバインド云々以前に一旦文字列にするのは当たり前
(どこかで 数値 <--> 文字列 の変換が必要)
って意味で言った

でも ErrorProvider 使えば数値型プロパティでいい感じにバインドできるんじゃないかと今思った
2017/10/25(水) 06:04:30.07ID:6FPeEgMNM
list<list<string>> hoge

このようなデータ構造のものをdatagridviewに表示させたいのですが、datasorceにhogeをセットすると入れ子のlistのcount数が表示され、肝心の中身が表示されません。
解決方法おしえてください
2017/10/25(水) 08:28:58.19ID:M5t9KVaY0
つか、数値入力はカスタムコントロールかビヘイビア作って対応しろや
Valueプロバティーなど作ってintやdoubleと直接バインド出来る
2017/10/25(水) 09:36:00.51ID:+tJOBv1wM
NumericUpDownさんの立つ瀬がない

>>449
適当なクラス作ってList<string>をそっちに移し替えるのが一番楽だよ
2017/10/25(水) 09:38:13.76ID:lkuOTBBm0
>>451
WPFにそれ無くて愕然としたわ
Nugetから拾ってねってことなんだろうけど、流石にForm時代のコントロールは用意しとけよと
453デフォルトの名無しさん (ワッチョイ 5502-G561)
垢版 |
2017/10/25(水) 12:10:32.13ID:5tcC17L/0
WPFを好きになれない
2017/10/25(水) 12:25:41.50ID:Lk4Aq805H
今更好きになる必要はない
死んだプラットフォームだよ
2017/10/25(水) 14:53:18.95ID:NEHk3FBt0
Formを拡張してくれてもいいのに、
新機能はWPFを使えとかだからなぁ
2017/10/25(水) 17:48:18.55ID:QxbqfPpga
明らかにビジネスニーズを外してると思うんだが
やっぱり海外でも同じなんだろうなって思う
2017/10/25(水) 18:09:40.11ID:hcA39hyC0
質問に関係ない雑談は他でやれ
>>449
Listを直接表示する機能はないのでDataTableにしてからDataSourceとして代入してください
MSDNでもそうなっている
https://msdn.microsoft.com/ja-jp/library/system.windows.forms.datagridview.datasource(v=vs.110).aspx
458デフォルトの名無しさん (ワッチョイ c575-G561)
垢版 |
2017/10/25(水) 18:14:21.08ID:Ho4Id2OA0
仕切り屋ウゼエ
2017/10/25(水) 18:48:44.36ID:BTS+nNEQM
>>457
class作る場合はcolumn数固定だし、この方法が良さそうです。
ありがとう。
2017/10/25(水) 19:51:15.93ID:NJvUwgFjr
お年寄りには無理かもねww
2017/10/26(木) 21:25:01.19ID:wrijmML40
>>460
何歳からお年寄り?
2017/10/26(木) 21:35:06.39ID:axdI+VLP0
「最近の若いもんは」とか言い出したら年寄り
463デフォルトの名無しさん (ガックシ 068b-AYwW)
垢版 |
2017/10/26(木) 23:11:07.62ID:32PzTYul6
多次元配列について

二つの変数i,jを代入したときに三次元ベクトルの値が帰ってくるような多次元配列の書き方を教えてほしいです。
2017/10/26(木) 23:16:22.52ID:ZYb1HzvY0
宿題はNG
465デフォルトの名無しさん (ガックシ 068b-AYwW)
垢版 |
2017/10/26(木) 23:26:46.05ID:32PzTYul6
大学の研究で使いたいですorz
どこのサイト調べたら乗ってますか、、、
2017/10/26(木) 23:28:13.23ID:/JkeP1u6a
>>463
たぶん俺だけじゃないと思うけど、何言ってるのか全然わからないよw
2017/10/26(木) 23:32:24.39ID:gKJtyuf20
>>465
要件を切り分けよう。そうしたら自分でググれる
>>463の内容だとC#以前に日本語として通じない
468デフォルトの名無しさん (ガックシ 068b-AYwW)
垢版 |
2017/10/26(木) 23:34:06.91ID:32PzTYul6
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 4; j++)

??? = Vector3; //Vector3はiとjで定まるベクトル
}

この???に入る関数の正しい形がわからなくてずっとエラー吐き出してます
2017/10/26(木) 23:35:43.85ID:LSWABSRs0
f(a, b) -> (a, b, a・b)
これを配列でやりたいんかねえ
無茶言うな
2017/10/26(木) 23:36:15.67ID:LSWABSRs0
わー全然違った
471デフォルトの名無しさん (ワッチョイ d175-rVGZ)
垢版 |
2017/10/26(木) 23:37:53.64ID:Fjma9sq90
>>468
多次元配列ならarray[i, j]
ジャグ配列ならarray[i][j]
2017/10/26(木) 23:40:05.56ID:gKJtyuf20
>>468
Vector3ってx,y,zがいるよね。そこでi,jから算出したいって言われてもわからないよ
クラスまたは構造体にそれを格納したいの?
>>471のように配列にしたいの?
473デフォルトの名無しさん (ワッチョイ d175-rVGZ)
垢版 |
2017/10/26(木) 23:41:13.22ID:Fjma9sq90
var array[,]=new ベクトル型の名前[100, 200];

for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 4; j++)

array[i, j] = ベクトルオブジェクト;
}
}
474デフォルトの名無しさん (ガックシ 068b-AYwW)
垢版 |
2017/10/26(木) 23:41:54.41ID:32PzTYul6
>>471
ありがとうございます!
475デフォルトの名無しさん (ワッチョイ d175-rVGZ)
垢版 |
2017/10/26(木) 23:43:25.01ID:Fjma9sq90
>>473は間違えてCみたいに書いちゃった



var array=new ベクトル型の名前[100, 200];

for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 4; j++)

array[i, j] = ベクトルオブジェクト;
}
}
476デフォルトの名無しさん (ガックシ 068b-AYwW)
垢版 |
2017/10/26(木) 23:43:59.46ID:32PzTYul6
ベクトルの各成分は既存のプログラムで決まっています
説明不足ですみません
477デフォルトの名無しさん (ガックシ 068b-AYwW)
垢版 |
2017/10/26(木) 23:51:07.89ID:32PzTYul6
ダメだ、、
やっぱりエラーはでないけど描画に意図しないものがでます。
UNITYとリープモーションを使っているのですが、以下の一文が入るとおかしくなってしまいます。

boneText.GetComponent<BoneText>().bonL[i][j] = sphere.position;

この一文でsphere.positionの値は変わらないですよね、、
2017/10/27(金) 00:41:11.00ID:f8YP8m/jM
>>477
知恵袋で質問してる人?
2017/10/27(金) 00:49:37.03ID:1uP28vOGa
よくこんな何言ってるのか訳分からん質問に回答できるな
エスパーなのかw
2017/10/27(金) 00:53:50.14ID:f8YP8m/jM
大学行って周りに聞けってレベル
481デフォルトの名無しさん (ワッチョイ d175-rVGZ)
垢版 |
2017/10/27(金) 00:57:10.14ID:pAogLeJi0
エラー見ろよ
2017/10/27(金) 01:02:08.49ID:1uP28vOGa
つーかこれ日本のIT業界の縮図を見る思いだよw

客側は仕様を決める能力がない。
受ける側も客が欲しい物を聞き出す能力がない。
だからああでもないこうでもないと不毛なやり取りが延々に続く。

どちらの側に「まず最初に問題を明確にしよう」って言える奴がいれば効率は何倍にもなるのに
それが出来ない。
483デフォルトの名無しさん (ワッチョイ 13f7-cyx1)
垢版 |
2017/10/27(金) 02:16:34.70ID:Xsu5cNz50
visualstudioと参考書を使ってC#の簡単なプログラムを作りながら学んでいるのですが
ちょっと難しいプログラムを作ろうとネットにあるサンプルコードをコピペしても
アセンブリ参照を確認してくださいの連発でうまく動きません
参考書だとイベントハンドラの作り方とかがひとつひとつ載っているのですが
ネット上のサンプルコードだとそういうのが省略されていることが多いです
やはり経験不足なのでしょうか?地道に簡単なものをたくさん作っていった方がいいのでしょうか?
コピペしただけではプログラムが作れないというのが難しいです
2017/10/27(金) 02:25:22.36ID:WVUdRiE90
>アセンブリ参照を確認してくださいの連発でうまく動きません
それで悩んでる様だと、全く基礎が出来ていないと思われるので
ちゃんと基礎から学習した方が良い
2017/10/27(金) 04:49:12.54ID:mZaDwhR60
「c# アセンブリ参照を確認」で検索しても探せない

一言一句、正確なエラーメッセージで検索すべき。
エラーメッセージを少しでも、変えたらダメ!
検索できなくなるから

「c# アセンブリ参照」で検索!
486デフォルトの名無しさん (アウアウカー Saed-tzPI)
垢版 |
2017/10/27(金) 06:00:59.69ID:CkoVgn7Ba
foamアプリケーションを使ってるのですが、例えば配列に格納されたデータをプリンターで印刷したいって時はどうしたらいいのでしょうか?
2017/10/27(金) 06:38:45.76ID:nY5Kn9TXa
>>486
https://dobon.net/vb/dotnet/graphics/printtext.html
2017/10/27(金) 08:09:29.44ID:EVxrWE8wr
>>461
年齢低くても年寄みたいな人多いよねw
2017/10/27(金) 09:04:00.13ID:EuwrSOCJM
>>488
三浦雄一郎なんて85歳だけど未だ山に登ってスキーの滑降に挑戦すると言ってる。
日本のit業界でそんな人居るか?
490デフォルトの名無しさん (ガックシ 068b-rVGZ)
垢版 |
2017/10/27(金) 10:34:42.22ID:HHV5h0f26
>>486
>>487のページを参考に

pd_PrintPageメソッド内の
if (printingPosition == 0)
{
printingText = printingText.Replace("\r\n", "\n");
printingText = printingText.Replace("\r", "\n");
}

if (printingPosition == 0)
{
printingText = string.Join(",", sringArray);
}
に置き換える。(stringArrayは印刷したい文字列配列)
491デフォルトの名無しさん (ガックシ 068b-rVGZ)
垢版 |
2017/10/27(金) 10:35:39.48ID:HHV5h0f26
>>486
>>490はミスった。



>>487のページを参考に

pd_PrintPageメソッド内の

if (printingPosition == 0)
{
printingText = printingText.Replace("\r\n", "\n");
printingText = printingText.Replace("\r", "\n");
}

を、

if (printingPosition == 0)
{
printingText = string.Join("\n", sringArray);
}

に置き換える。(stringArrayは印刷したい文字列配列)
492デフォルトの名無しさん (オッペケ Sr9d-MOuH)
垢版 |
2017/10/27(金) 10:50:10.66ID:SMci25s2r
言語仕様を軽く調べて良さそげだったのでC#使ってみたいんだけど
既に簡単なプログラムや重い処理はC/C++
計算系はscilab、DNNはPython、サーバ系はnode.jsてな感じで使い分けしてるので
どういう用途で使うとgoodなのか分からない
C#て何に使える?Unity?
2017/10/27(金) 10:57:55.98ID:DFrdiJ4Ra
その簡単なプログラムというのをc#に持ってくるのがいいんではないかな
あとそこで上がってないのはPC上のGUI使ったものだけど
それには向いてる

window向け
.net framework向け
VS使って開発したい人向け
494デフォルトの名無しさん (アウアウカー Saed-tzPI)
垢版 |
2017/10/27(金) 11:01:00.18ID:CkoVgn7Ba
>>487>>491
ありがとうございます!参考に頑張ってみます
2017/10/27(金) 11:06:36.02ID:DFrdiJ4Ra
もともとGUIを実装するのが難しい環境で育った人達はGUIを毛嫌いするけど
それはクソだった環境を恨むべきでGUIは無罪
2017/10/27(金) 11:14:51.14ID:WDMSp6pvM
>>492
Windowsのアプリケーション開発に使える。
c#のIDEほどユーザーに至れり尽くせりなのは無いと思う。
497デフォルトの名無しさん (ガックシ 068b-rVGZ)
垢版 |
2017/10/27(金) 11:16:26.26ID:HHV5h0f26
>>492
一般のウィンドウ付きGUIソフトウェアの開発はC#+VS一択
498デフォルトの名無しさん (オッペケ Sr9d-MOuH)
垢版 |
2017/10/27(金) 11:18:42.72ID:SMci25s2r
>>493,496,497
GUIプログラムか……
C++WINAPIでのトラウマから今の所HTML+JSで作る事が多い
主にFormとWPFの2つ方法があるらしいけど(ストアアプリは作らないのでUWPは除外)
WPF資料少ないし流行ってないし仕様が難解なのだけど
それでもこっち使うメリットある?
2017/10/27(金) 11:46:58.51ID:WDMSp6pvM
>>498
WPFは男前なUIが比較的簡単に作れる。
html知ってりゃ画面デザインのハードルは低い。
2017/10/27(金) 11:47:53.01ID:DFrdiJ4Ra
>>498
両方やればいい
最初はformsで次にWPF

両方使えたらいろいろ面白い
501デフォルトの名無しさん (ガックシ 068b-rVGZ)
垢版 |
2017/10/27(金) 11:50:25.84ID:HHV5h0f26
WPFむずくね?
2017/10/27(金) 11:54:13.46ID:WDMSp6pvM
>>501
Electronよりは簡単でしょ
2017/10/27(金) 11:54:19.55ID:DFrdiJ4Ra
>>501
難しい
学ばなければいけない新概念が多すぎる

いついつまでに作らないといけないとか
こういったものを確実に実装したいなど
ゴールが決まってる場合選ぶべきじゃない

特に適切な学習テキストがないのが致命的
手間や時間をかけて徐々に学習してステップアップしていける人向け
504デフォルトの名無しさん (ガックシ 068b-rVGZ)
垢版 |
2017/10/27(金) 11:54:44.78ID:HHV5h0f26
>>502
Electronの方が簡単だと思ったけど
2017/10/27(金) 12:07:59.78ID:viJc7lmzd
>>504
求める機能と開発者のバックグラウンドで様々
506デフォルトの名無しさん (オッペケ Sr9d-QXCj)
垢版 |
2017/10/27(金) 12:12:08.77ID:SMci25s2r
男前なUIは魅力的だけどやはり難しいのか…
WPF勉強しつつ何か作らなきゃいけない時はForms使うって感じでやってみます
2017/10/27(金) 12:27:22.92ID:WDMSp6pvM
>>504
入門レベル以上のモノを作ろうとするとハードル高くないか?
2017/10/27(金) 12:40:38.27ID:2zDM9gUL0
伸びてるときは読まなくていい法則
2017/10/27(金) 12:43:28.55ID:1mFeKpWgM
>>508
そんな事を言いながら読んでレスまでしていると
2017/10/27(金) 12:50:31.66ID:37wzv4nSM
>>503
学習コストの低いプログラム環境なんて飯の種にはならない。それ以前にいまどき学習コストの低いものなんて無いし。
2017/10/27(金) 13:06:19.09ID:I66AtiXV0
wpfはMaterial Design In XAML Toolkitなんか使えば、単にコントロール並べるだけでも格好いいの出来る
https://github.com/ButchersBoy/MaterialDesignInXamlToolkit

並べるだけならGridの仕組み覚えれば何とかなりそうだし、言うほど敷居が高いわけじゃない
2017/10/27(金) 13:06:50.40ID:cQIvF6YS0
【1位は3年連続Scalaの424万円!】2017年版プログラミング言語別給与ランキング
http://hrog.net/2017102655819.html
513デフォルトの名無しさん (オッペケ Sr9d-QXCj)
垢版 |
2017/10/27(金) 13:12:47.78ID:SMci25s2r
>>511
これ凄いな
MVVMの真髄を見た
514デフォルトの名無しさん (ガックシ 068b-rVGZ)
垢版 |
2017/10/27(金) 13:14:13.55ID:xbgVr3k+6
WPFはバインドが難しい
2017/10/27(金) 13:16:10.91ID:DFrdiJ4Ra
MVVMと関係ないだろw

FCUで鳴り物入りで始まった新デザインは放置されてるよな
2017/10/27(金) 14:18:43.50ID:I66AtiXV0
>>514
先入観持たなければ、バインド自体は半日もネットで勉強したら理解できる範囲
難しいのはスタイルとかアニメーションとかビジュアルステイトマネージャとかビヘイビアあたり
517デフォルトの名無しさん (ガックシ 068b-rVGZ)
垢版 |
2017/10/27(金) 14:43:10.59ID:HHV5h0f26
リストの項目を複数選択してそれぞれの属性値を使って処理しようとしてもWPFだと難しい
518デフォルトの名無しさん (ガックシ 068b-rVGZ)
垢版 |
2017/10/27(金) 14:45:18.40ID:HHV5h0f26
単純に1つのアイテムをクリックした時にその要素のデータに対応した処理をしようとしてもなかなか出来なかった気がする
2017/10/27(金) 15:20:00.66ID:I66AtiXV0
確かにListBoxとListBoxItemと実態データの関係はわかりづらいし、それをしっかり説明している文書も見たこと無いな
あと、ListBoxを理解するのに必須のItemContainorStyleとItemTemplateの解説とか

ノウハウだけはいくらでもネットに転がっているから、最初は単純にコピペから始めるしか無いかもね
2017/10/27(金) 16:01:30.28ID:EVxrWE8wr
その辺は、"WPF ItemsControl"辺りでGoogle先生の御神託を受けると
なるほど!なサイトが啓示される
2017/10/27(金) 16:02:39.61ID:EVxrWE8wr
WPFは簡単とは言わないが
慣れると「楽」ではある
2017/10/27(金) 16:47:05.61ID:/3yfU/y80
>>489
歳とともに新しい概念を吸収する能力はどうしても衰えるからな
日本だけに限った話ではない

日本だと竹内郁雄あたりが一番の古株
523デフォルトの名無しさん (ワッチョイ 13f7-cyx1)
垢版 |
2017/10/27(金) 17:11:12.50ID:Xsu5cNz50
以下のサイトを参考にAccord.NETで画像判定を行いたいのですが
https://www.ipentec.com/document/document.aspx?page=csharp-accord-net-create-simple-classification
コピペだけでは上手く行かなくて悩んでいます。
NuGetでAccord.NET frameworkは導入済
フォーム名をFormMainにして
デザイナからボタン3つのイベントハンドラを作って
残りはコピペしたのですが赤線エラーが連発です。
何が足りないんでしょうか?
524デフォルトの名無しさん (ワッチョイ d175-rVGZ)
垢版 |
2017/10/27(金) 17:14:31.76ID:pAogLeJi0
見た目ではわからんない変な見えない文字でもあるんじゃね?
2017/10/27(金) 17:17:20.47ID:WVUdRiE90
昨夜のヤツか
だから何でもかんでもコピペで済ませようとせずに、ちゃんと基礎を学習しろって

>赤線エラーが連発です。
>何が足りないんでしょうか?
先ず、そのエラーの内容を全部正確に書き出せ
何が足りないっつーなら、人に物を訊ねるのに提示する情報が足りてない
2017/10/27(金) 17:28:28.47ID:5X4PuMCla
金出して入門書を買うべき
527デフォルトの名無しさん (ワッチョイ 13f7-cyx1)
垢版 |
2017/10/27(金) 17:32:12.47ID:Xsu5cNz50
ごめんなさい
以下が私のコピペして作ったコードです
https://pastebin.com/xdS3quRw
エラーは以下の21個です
https://pastebin.com/sZTkUWfU

何かアドバイス頂けたら幸いです。
528デフォルトの名無しさん (ワッチョイ 13f7-cyx1)
垢版 |
2017/10/27(金) 17:34:34.18ID:Xsu5cNz50
入門書は作って覚えるvisualC#2017という本を買い
コピペではありますが本に載っているプログラムを一通り作ってみました。
529デフォルトの名無しさん (ワッチョイ d175-7VDh)
垢版 |
2017/10/27(金) 18:10:14.92ID:eOTTzU3j0
このサンプルがゴミ
他のサイトで試そうぜ
2017/10/27(金) 19:04:59.18ID:+TQssIne0
>>527
usingでエラー出ているから手の付けようがないんだが
Accord.MachineLearningがあってその下のAccord.MachineLearning.VectorMachines;が無いって出ているのだから
Accord.NET frameworkやらの導入に失敗しているか拡張か何かが必要なのにそのことが書いてないか
検証するには同じように導入しなきゃならないけど俺には無理w

身もふたもないこと書くけど、コピペでしかやらないのならプログラムじゃなくてソフトウェア板でツール探したほうがいいと思うよ
531デフォルトの名無しさん (ワッチョイ eb96-O+EC)
垢版 |
2017/10/27(金) 19:06:56.02ID:fMt9E+qB0
while文を使って「10000」を「2」で何回割ると
「100以下」になるかを調べるプログラムってどう記述すればいいですか?
教えてくださいお願いします
2017/10/27(金) 19:10:40.47ID:+TQssIne0
>>531

int count=0;
int x=10000;
while (x>100)
{
x=x/2;
count++;
}
2017/10/27(金) 19:24:20.57ID:8mvsL+zrd
課題の答えを教えてもらうスレみたいになってるな
534デフォルトの名無しさん (ワッチョイ d175-rVGZ)
垢版 |
2017/10/27(金) 19:30:24.53ID:pAogLeJi0
>>530
俺は実際にやったんだがまず最新バージョンだとダメだった
サイトに書いてるバージョンをインストールしたら名前空間未解決は全部消えたけどImageItemクラスが見つからないって出たわ
535デフォルトの名無しさん (ワッチョイ eb96-O+EC)
垢版 |
2017/10/27(金) 19:47:20.37ID:fMt9E+qB0
>>532さんありがとうございます
2017/10/27(金) 20:06:30.51ID:mnqGPV0ma
>>531-532
Math.Log使って算術的に求めればいいのに、と一瞬思ったけど底の変換で誤差が出るからだめかw
でも解析的に溶けるはずの問題を力技でやるのは面白くないな馬鹿っぽくて
537デフォルトの名無しさん (ワッチョイ d175-rVGZ)
垢版 |
2017/10/27(金) 20:58:27.40ID:pAogLeJi0
1000/(2^x)<=100
∴x>=-ln(100/1000)/ln(2)

整数単位なら
ceil(-ln(100/1000)/ln(2))

C#なら
(int)Math.Ceiling(-Math.Log(100.0/1000.0)/Math.Log(2.0))
538デフォルトの名無しさん (ワッチョイ d175-rVGZ)
垢版 |
2017/10/27(金) 21:00:22.12ID:pAogLeJi0
1000じゃなくて10000だった
2017/10/27(金) 21:10:00.24ID:Kbs4W3Kw0
質問です
WPFで、MenuのItemSourceをXMLとデータバインドして、ItemContainerStyleでXMLに書かれたアイコンのパスからアイコンを表示してます
テキストはうまく並びますが、アイコンは現在最後の1個だけ表示される状態です
試行錯誤したのですがなんかうまくいきません
教えてください!
540デフォルトの名無しさん (ワッチョイ 13f7-cyx1)
垢版 |
2017/10/27(金) 21:15:13.29ID:Xsu5cNz50
>>534
ありがとうございます
バージョンをサイトのに合わせたらエラーが以下の7つにまで減りますね
https://pastebin.com/a3enEffB
ちょっと希望が見えてきました
541デフォルトの名無しさん (ワッチョイ d175-rVGZ)
垢版 |
2017/10/27(金) 21:18:58.21ID:pAogLeJi0
>>539
>>1のサイトにコード貼ってうp
2017/10/27(金) 21:20:12.73ID:FTyfNVM40
>>539
faqネタ
https://msdn.microsoft.com/ja-jp/library/aa970778(v=vs.110).aspx
2017/10/27(金) 21:22:05.47ID:+vbTuR/l0
>>533
俺なんか、実際プログラミングの授業さっぱりわからなかったから気持ちはわかるw
卒業して全然違う職に就いてから、独学で勉強して業務アプリ作ってるけど
やっぱ理系の大学教授って教えるの下手だよなぁ
2017/10/27(金) 22:31:09.83ID:Kbs4W3Kw0
>>542
ありがとうございます!
x:Sharedを調べてきます

>>541
もうちょっとがんばってみます
2017/10/27(金) 22:33:56.47ID:FTyfNVM40
>>544
画像のようなリソースは共有できないのだ。
2017/10/27(金) 22:34:54.26ID:FTyfNVM40
>>543
正直、工学部のレベルが落ちてると思うよ。
2017/10/27(金) 22:44:05.65ID:jS4JzIKN0
作れる、と組める、はかなり違うスキルだと思う
2017/10/27(金) 22:45:42.16ID:EnZPczDa0
作れるけど組めないタイプです
2017/10/27(金) 22:51:06.59ID:Kbs4W3Kw0
できましたありがとう!
ResourceDictionaryにx:Shared="false"でできました!
本当に感謝です! これでスマートに書けます!
2017/10/27(金) 23:08:50.40ID:5w2xVZwP0
>>549
それデザイナーだと、ちゃんと出るからたちが悪いよ。
エッセンシャルWPFとか読んでないとわからんと思う。
2017/10/27(金) 23:10:50.85ID:SAD9Ru6t0
WPFのグリッドコントロールが死ぬほど遅いのって解消された?
2017/10/28(土) 01:15:13.63ID:Ng05dLeH0
いいえ
WPFの思想を正しく理解してたらグリッドコントロールなんか必要ないとわかるはず
それを面倒に感じるようなタイプのアプリならWinFormsかASP.NETで作るべき
2017/10/28(土) 07:09:18.71ID:t/WJitLPp
どういうことだってばよ
2017/10/28(土) 07:46:40.11ID:03EiXsZ60
>>551
EnableColumnVirtualizationプロパティをTrueにする
2017/10/28(土) 08:04:18.05ID:WUINebrs0
Gridじゃなくて、DataGridかよ。
2017/10/28(土) 08:47:45.45ID:03EiXsZ60
忖度です
2017/10/28(土) 10:45:25.48ID:DalFF2zW0
Gridが遅いなんて話聞いたことないからわかるだろ
2017/10/28(土) 11:52:51.58ID:KdTyFqmQ0
>>552
賛同
2017/10/28(土) 12:46:46.71ID:PsP4EoQE0
つか、DataGridに数千数万突っ込む仕様がどうかしている
どうせ使う人もそこまでスクロールするはず無いんだがなぜか作らされる理不尽さ
2017/10/28(土) 13:03:06.41ID:bdNJdn2b0
>>559
ほんとこれ
2017/10/28(土) 13:09:55.85ID:pcT2EQ6Aa
>>559
役所のアプリってそのぐらいの人数
簡単にいくじゃん

どういう画面にするか迷う
2017/10/28(土) 13:14:31.33ID:pcT2EQ6Aa
某大手に依頼されたログ閲覧ツールも
200機近くある機械がそれぞれ秒単位で
ログ出すから一万とかあっという間に超える
こういうのいい作り方ない?
2017/10/28(土) 13:20:52.94ID:pcT2EQ6Aa
とりあえずDataGridもDataGridViewも
10万件ぐらいなら余裕で表示できるよ
でも無限に表示するわけにも行かないのに
3年ぐらいのデータはみたいとか言うんだよな
役所のアプリに限っては住民だから
全員並列でデータに上下がなくて
完全にどうやって表示したらいいかわからない
2017/10/28(土) 13:36:39.82ID:Ng05dLeH0
>>562
elasticsearchに突っ込んで終わり
2017/10/28(土) 13:48:34.24ID:4tOv+jEh0
>>561
もうエクセルでいいだろwww
2017/10/28(土) 14:00:05.81ID:LD30atSwM
全部表示しないでクエリで絞り込んで表示したらいい
何万件目視する必要はないと思うけど
2017/10/28(土) 14:31:38.49ID:/OSTeRXvM
能力のない人が要件定義するとそういうアホなことになるよね
客からすれば大抵そういうのはその場のノリで適当に言っただけのどうでもいいことで、
それが生み出す価値と引き換えになる品質やコストを天秤に載せれば明らかにやるべきではないような要件を「やりません」と言えない
2017/10/28(土) 14:55:50.55ID:lTHigkwZr
上の人達が頭悪いととにかく迷惑なのは確かではある
2017/10/28(土) 16:06:44.30ID:e5FcL5GRa
どうせユーザーは全部のデータは見ないから〜、とか
適当に絞り込んだ表示にしろとかいう意見ははさすがにちょっと頭悪すぎると思うw

んなアホな

っていうか仮想化すれば済む程度の話で客や上司を無能扱いする奴って
どんだけ図々しいバカだよ
2017/10/28(土) 16:18:29.56ID:IlD7K6Hl0
string型に行番号とかの変数を追加したいのですが
シール型で継承できないとエラーになりました
こんなときどうしたらいいでしょうか
2017/10/28(土) 16:49:12.51ID:i6LcJWfh0
エクステンションを使うべし
2017/10/28(土) 16:57:29.76ID:H0P2VwFl0
>>570
Stringじゃなくてクラス作って行番号や行の情報を変数として持つのは駄目なの?
2017/10/28(土) 16:58:11.15ID:rZWSN5VzM
class Line {
private readonly string _contents;
private readonly int _lineNumber;
public Line(string contents, lineNumber) {
Contents = contents;
LineNumber = lineNumber;
}
public string Contents {
get => _contents;
set {
if (value == null) throw new ArgumentNullException(nameof(Contents));
_contents = value;
}
}
public int LineNumber {
get => _lineNumber;
set {
if (value <= 0) throw new ArgumentOutOfRangeException(nameof(LineNumber));
_lineNumber = value;
}
}
}
2017/10/28(土) 17:04:36.31ID:IlD7K6Hl0
>>571
エクステンションだと↓を見る限り変数は追加できないですよね?構文糖衣みたいのを作る時は便利ですけど
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/extension-methods
2017/10/28(土) 17:09:57.61ID:IlD7K6Hl0
>>572
いたる所に行番号やらが必要になったstring変数があってあんま変えたくないのですが、
結局そうするしかないんでしょうかね
2017/10/28(土) 17:13:47.24ID:i6LcJWfh0
>>574
そのメソッドが所属するクラスにはプロパティorメンバー宣言出来ないって書いてあるかな?
2017/10/28(土) 17:19:01.18ID:EvuLUtue0
1行挿入したらそれ以降の行を全部更新しないといけないけど
そういう心配は不要な使い方なの?
2017/10/28(土) 17:42:01.52ID:m7p7dboTa
>>575
手を動かす(コードを書き始める)前によく考えなかったツケとしか言いようがないね
修正箇所が多いことは間違った設計を正当化する理由にはならんでしょう。

>>576
拡張メソッドの実体はただの静的メソッドなので基本状態を持てませんw

thisをキーにするDictionaryでも持てばやってできないこともないだろうけど、
努力の方向が間違ってる感が半端ない
2017/10/28(土) 18:19:38.89ID:ot1H0tr20
>>576
>実際に、拡張メソッドは、それらが拡張している型のプライベート変数にはアクセスできません。
>>574のこの部分だな
宣言できても外部から使えない
2017/10/28(土) 18:42:13.42ID:Ei3q78sJ0
なぜ諦めろと言えないのか
2017/10/28(土) 18:48:53.63ID:LD30atSwM
intに行番号追加したいと言ったらアホかで終わる
stringだとなぜアホかでおわらないのかな
2017/10/28(土) 18:54:17.52ID:rXHf5Axha
>>581
00001(*゚∀゚)using system;
00002(*゚∀゚)using unko;
00003(*゚∀゚)using chinko;

デリミタ(*゚∀゚)

みたいな
2017/10/28(土) 18:55:16.39ID:rXHf5Axha
ごめん
やっぱアホやと思う
2017/10/28(土) 19:15:45.09ID:rZWSN5VzM
>>581
OOPでは文字列というかプリミティブ型をそのまま使う方が間違い
行という概念が対象とする業務にあるならそういうクラスを作る
2017/10/28(土) 20:14:28.12ID:X1c8HG7Y0
とりあえずstringと暗黙に相互変換できるクラス作ればいいんじゃね
2017/10/28(土) 20:49:55.33ID:WUINebrs0
>>570
継承(is-a)じゃなくて包含(has-a)にすべきパターン
2017/10/28(土) 21:14:06.22ID:EvuLUtue0
>>575
>いたる所に行番号やらが必要になったstring変数

この「行番号やら」とstring変数の用途というか使用目的は?
2017/10/28(土) 21:16:11.03ID:lTHigkwZr
>>586
素直に委譲するべきですな
継承してstringの全メソッドを公開してしまうアホさ加減が理解出来ない人多いよねw
2017/10/28(土) 21:35:30.21ID:m7p7dboTa
>>586
>>588
この質問者のケースは単なる設計ミス(というよりあまりに思慮が足りない)だけであって
継承かコンポジションかの対立じゃありませんw
2017/10/28(土) 22:59:54.69ID:rZWSN5VzM
設計ミスの原因は値オブジェクトの作成をサボったこと
2017/10/29(日) 01:41:15.85ID:niGJJWdU0
Form1のコントロールに他クラスからアクセスするとき、VB.NETだと
Form1.DataGridView1.〜
のようにアクセスできたけど、C#は同じようにできなかった
https://teratail.com/questions/36464
ここのページのように実装したけど、みんなはどうしてる?
592デフォルトの名無しさん (ワッチョイ d98a-5+y+)
垢版 |
2017/10/29(日) 01:56:06.10ID:9lQAHngl0
>>591
いやできるけど
2017/10/29(日) 02:40:31.76ID:WQc+sGcxa
>>591
C#だとデフォフトのアクセスレベルがprivateになってる(VBはpublic)から
これをpublicとかに変更してやればできる。(デザイナのプロパティグリッドだとデザイン/Modifier)

でもやるな。
コントロールを外から操作したいなんて99%考え方が間違ってる。
2017/10/29(日) 03:16:14.16ID:ijP0HOZf0
>>591
エラーメッセージくらい読めよ
2017/10/29(日) 08:12:26.70ID:eDIrk2le0
>>592-594
ありがとうございます
Winフォーム作成→dataGridView貼り付け→dataGridViewのModifiersをPublic→
新しいクラスClass1.csを作成→
public void Test() {Form1.dataGridView1.Rows.Add("hoge");}
エラー CS0120 静的でないフィールド、メソッド、またはプロパティ 'Form1.dataGridView1' で、オブジェクト参照が必要です

とでます。Form1. の時点でインテリセンスにも表示されませんでした
どこが間違っているか指摘していただけるとうれしいです

VB.NETもおなじようにやってみましたが、Form1.のインテリセンス候補も10倍くらいの量がありました

>でもやるな。
>コントロールを外から操作したいなんて99%考え方が間違ってる。
ちなみにどのようにされていますか?
2017/10/29(日) 09:36:49.69ID:xy4cL51x0
クラスのインスタンスを電文フォーマットに基づくバイト列に変換するのって
どうするのが一般的ですか?

BitConverterで一つずつやるつもりでいたんだけど、電文の種類が多くて大変なんで
マーシャリングかシリアライザー使って何とかならないかなと考えています。

バイトオーダの変換はありませんが
文字コードの変換はあります。
2017/10/29(日) 09:57:15.12ID:lQWP9L+J0
>>595
クラスのインスタンスからアクセスしないといけない
他のクラスにインスタンス無しでアクセスできるのはエラーのとおりstaticなメンバーにだけ
自分で貼ったリンク先を読み返すか
https://dobon.net/vb/dotnet/form/accessanotherformdata.html
ここを参照
2017/10/29(日) 10:00:00.89ID:8/yZ+26EM
>>596
独自形式?
ならまずはプロトコルの変更を検討
2017/10/29(日) 10:25:39.66ID:8DklepZ/0
>>596
電文フォーマットが有名な国際規格ならNugetにコンバータが落ちているだろうからそれ使えだけど、独自形式なら電文に応じてコンバータ作るしかないんじゃね
2.0時代の時は文字コード指定したBinaryWriterに1項目ずつ書き込んだけど、今だともっと良い方法あるのかね?
2017/10/29(日) 10:38:20.65ID:niGJJWdU0
>>597
説明が足りなかったです
最初のレスで貼ったリンク先の方法で実現できたのですが、VB.NETのように特別な設定等なくてもアクセスできないのかなと思いまして
2017/10/29(日) 10:46:16.93ID:lQWP9L+J0
>>600
意味が分からないのだけどインスタンス無しでアクセスしたいのなら無理
デフォルトをpublicにする設定なら知らない
datagridviewをpublicにしたくないのなら同じクラスに読み書きするためのpublicなメソッドをおいてそこに外からアクセスする
2017/10/29(日) 11:57:28.03ID:PXhFkrdq0
LINQの川俣本買ってきた
確かに変態的だがw、なかなか面白い
2017/10/29(日) 12:24:50.28ID:niGJJWdU0
>>601
勉強になりました
ありがとうございました
2017/10/29(日) 13:04:46.79ID:ZduY/p1d0
>>602
彼が本の中で出している例が、彼が実際に作っている同人ゲームというのが痛々しい
その痛さは中身とは直接関係ないけどね
2017/10/29(日) 13:54:10.92ID:KCquvjW+d
>>596
電文コンバータと、そのコンバータ用のattribute作った事ある。
ちまちまやっても辛いが、電文は自システム外との接点で一番健全であるべきだと思うから、
あんまりその辺のライブラリ使わずに、ベンダサポートのあるものを買うか自作した方が良いと思う。
2017/10/29(日) 19:15:01.89ID:DPr9B5TC0
double値で0〜1の乱数一個発生させた後何倍かしたあと50足して50〜100の乱数表示させたいんだが「何倍かして」をどう打ち込んでやればいいのか分から
2017/10/29(日) 19:27:01.08ID:JiBt02fUa
>>606
0〜1の乱数 * 50 + 50
2017/10/29(日) 19:30:31.42ID:UHlhCeyba
それが分からないってどんだけ数学苦手なんだよw
小学生でもわかる気がするけどw
2017/10/29(日) 20:04:49.47ID:QVv5Qzoo0
>>606
こたえ は らんすう かける (いちばんおおきいかず ひく いちばんちいさいかず) たす いちばんちいさいかず
2017/10/29(日) 20:24:05.16ID:XZx0dOgn0
List<string>をcomboBoxの内容に入れ替えたいんですが、

list.Clear();
foreach (var item in comboBox1.Items)
{
list.Add(item.ToString());
}

もっといい書き方ありますか?
2017/10/29(日) 20:35:08.53ID:2obBvs8R0
>>610
list = comboBox1.Items.Cast< string >().ToList();
2017/10/29(日) 20:37:54.07ID:2obBvs8R0
listを作り直すのが嫌だったら

list.Clear();
list.AddRange( comboBox1.Items.Cast< string >() );
2017/10/29(日) 20:39:32.25ID:GAnQ71f80
>>610
DataSourceにデータソースをバインドしてDisplayMemberとValueMemberをゴニョニョする方が良いと思う
2017/10/29(日) 20:42:13.20ID:GAnQ71f80
ごめん、忘れて
2017/10/29(日) 20:53:42.20ID:XZx0dOgn0
>>611-612
ありがとうございます。
やってみます。
616デフォルトの名無しさん (ワッチョイ 13f7-cyx1)
垢版 |
2017/10/29(日) 21:38:31.04ID:AI+osUJX0
あるstringのデータを
コンソールで表示すると

1 2 3 4
5 6

となるのですが
フォームアプリケーションのtextBoxで表示すると
1 2 3 45 6
となってしまいます
これはどうしてでしょうか?
コンソールアプリケーションと同じように表示する方法はありますか?
2017/10/29(日) 21:42:40.40ID:YJExHDlc0
textBox.Multiline = true;
618デフォルトの名無しさん (ワッチョイ d175-rVGZ)
垢版 |
2017/10/29(日) 21:46:02.25ID:+ffco7dx0
>>616
フォームデザイナーでテキストボックス選択すると出てくる三角マークで出てくるチェックボックスにチェック
619デフォルトの名無しさん (ワッチョイ 13f7-cyx1)
垢版 |
2017/10/29(日) 21:49:41.90ID:AI+osUJX0
>>617>>618
Multilineはチェックしています
620デフォルトの名無しさん (ワッチョイ d175-rVGZ)
垢版 |
2017/10/29(日) 21:50:16.20ID:+ffco7dx0
>>606
「*」の入力の方法
https://i.imgur.com/JX4EAnJ.jpg
621デフォルトの名無しさん (ワッチョイ d175-rVGZ)
垢版 |
2017/10/29(日) 21:50:47.43ID:+ffco7dx0
>>619
改行コードは\nじゃなくて\r\n
622デフォルトの名無しさん (ワッチョイ 13f7-cyx1)
垢版 |
2017/10/29(日) 21:53:57.78ID:AI+osUJX0
>>621
なるほど、データの\nを\r\nに置換すれば良いのですね
プログラム内で出来る様やってみます
ありがとうございました!
2017/10/29(日) 22:29:57.26ID:3xWluLewM
>>606
乱数で1〜0じゃなくて
乱数で0〜50出して50足せばいいよ
2017/10/29(日) 23:09:13.97ID:lLtElflAr
>>610
悪いこと言わんからlistを入れ換えなさい
2017/10/29(日) 23:41:17.91ID:XZx0dOgn0
>>624

>>611-612
では問題あるのでしょうか?
2017/10/30(月) 00:51:20.04ID:ZjjJl5MKr
>>625
その二つが違うんですけどね (´・ω・`)
2017/10/30(月) 02:19:11.99ID:WHu/EAiX0
>>600
VB.NETの既定のインスタンスのことかな?
VB.NETではフォームのインスタンスをnewすることなく使える
http://www.atmarkit.co.jp/fdotnet/special/vb6tovb2005mig02/vb6tovb2005mig02_01.html

ただ、VB6との互換というか、ごまかしだから避けるのが基本
メリットが薄い割に後々混乱やバグのもとになる
2017/10/30(月) 06:37:07.25ID:VzdyAy7l0
>>610
コンボボックスのデータソースにリスト当ててやればおけ
2017/10/30(月) 16:27:34.12ID:uU3Z1NO30
C#凄く難しい。
みんなよく覚えられるね。
630デフォルトの名無しさん (ワッチョイ 7102-rVGZ)
垢版 |
2017/10/30(月) 17:05:11.69ID:ZRry2d4e0
最も無駄がなく整理されて簡潔な言語なのに
2017/10/30(月) 17:11:32.17ID:+mMPfUc40
互換性の為の無駄はあるよ

そして難しくはないっつーかかなり簡単な部類
仕様とライブラリが膨大で覚える事が多いだけ
2017/10/30(月) 17:13:03.05ID:em1IyeD/0
Dictionaryを使って
stringとfloat型で特定の人物の電話番号を
WriteLineでコンソールに出力するプログラムを作りたいのですが
例えば0001234567という電話番号だったりすると
000の部分が省略されて1234567の部分しかコンソールに出力できません
float型では0は扱えないのでしょうか?
633デフォルトの名無しさん (ガックシ 068b-rVGZ)
垢版 |
2017/10/30(月) 17:16:37.50ID:1Rgk/fXB6
なぜ電話番号を浮動小数で表すのか謎だがこのサイト見ながらで書式設定すればできる
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/formatting-numeric-results-table
2017/10/30(月) 17:21:42.29ID:ct0tj9Za0
>>632
電話番号には文字列を使いなよ。国際電話を使うかもしれないぜ。
2017/10/30(月) 17:28:01.76ID:dYkZ5PSi0
>>632
float型だろうがdecimalだろうが頭に0が付かないのは当たり前。電話番号は文字列として扱え
数値以外の要素のチェックが必要なら面倒でもチェック用のメソッドを作る
>>633
それができるのは桁数が決まっているものだけだから電話番号には使えない
2017/10/30(月) 17:35:14.59ID:ZipmH/zBd
>>629
何に比べてどこが難しいの?
637デフォルトの名無しさん (ワッチョイ eb96-O+EC)
垢版 |
2017/10/30(月) 17:37:33.80ID:em1IyeD/0
>>634
>>635
文字列として扱ったら表示されました!
ありがとうございました!
2017/10/30(月) 17:42:51.79ID:MXOIFBwWa
スレ的に笑っちゃいけないのかもしれないけどその発想はなかったw
だけど常識的に考えて、0と00が別の値として認識される数値型があったら変だろうw
639デフォルトの名無しさん (ガックシ 068b-rVGZ)
垢版 |
2017/10/30(月) 17:43:10.06ID:1Rgk/fXB6
電話番号って幅バラバラなんだ初めて知った
640デフォルトの名無しさん (ガックシ 068b-rVGZ)
垢版 |
2017/10/30(月) 17:44:12.67ID:1Rgk/fXB6
確かにバラバラだわ
2017/10/30(月) 17:46:47.02ID:MXOIFBwWa
東京の局番が増えたのついこの間だったろう...と思ったらもう20年以上前かw
2017/10/30(月) 17:48:26.11ID:+mMPfUc40
まあ固定電話と携帯電話でも桁数違うし
2017/10/30(月) 17:57:55.85ID:qj0DpEco0
電話番号は真面目に考えると結構複雑
nugetでPhoneNumberを調べるとすでに作ってる人がいるので参考にするなり拝借するなり
してきた方がいいかもしれない
2017/10/30(月) 18:01:26.63ID:Bbjg4pNZa
問題点番号26
110と119、117が登録できない

永久凍結(笑)
645デフォルトの名無しさん (ワッチョイ 7116-rVGZ)
垢版 |
2017/10/30(月) 18:02:40.83ID:zMAqCiK10
常識的に考えて緊急電話がサービスに登録してこない
電話帳かな?
2017/10/30(月) 18:03:59.63ID:53AKimFld
電話番号って番号だからなぁ。一応。
単純に文字列が良いかと言うと、ソートは国番号、市外局番、市内局番、内線番号で数字順にやりたい、とか、局番のハイフンは数字じゃないじゃんとか、市外局番変わるので洗い替えます、とか結構うんざりする。
業務系だと電話番号クラス作る(というかプリミティブな型をデータを表す型に使わない)けど、そこまでやってるとキリないしな。
2017/10/30(月) 18:05:30.03ID:+mMPfUc40
結局、要件定義次第だからね
将来的な変更を見越して型を作るのはアリだと思うけど
2017/10/30(月) 18:27:19.96ID:1DqnyPzkM
電話番号は番号というより記号
数字としての役割はしてない
649デフォルトの名無しさん (ガックシ 068b-rVGZ)
垢版 |
2017/10/30(月) 18:32:37.98ID:6LR7RaNa6
x 数字
o 数値
2017/10/30(月) 19:14:48.75ID:ums4+xqt0
>>630
MSDNの糞っぷりは天下一級品
2017/10/30(月) 19:17:16.26ID:BJc9Pwjb0
2017/10/30(月) 19:20:01.70ID:Bbjg4pNZa
>>650
よく書いてあるじゃん
vc6の頃なんてリンク切れだったぜ
2017/10/30(月) 19:28:47.29ID:ums4+xqt0
>>652
VC6と比べると幾らかマシと言うレベルで褒められたもんじゃない。
.NETの少しマイナーなクラスだと「そんな説明で分かるかボケ」か説明すらない状態だ。
2017/10/30(月) 19:31:46.66ID:Bbjg4pNZa
>>653
最近サンプルソースも充実してるじゃん
2017/10/30(月) 19:36:22.59ID:ums4+xqt0
>>654
その充実(笑)なサンプルソースとStackOverflowの親切な外人様のおかげでなんとかなってる状態w
2017/10/30(月) 19:46:34.67ID:YIhgL7yL0
>>655
docsの間違いか?
657デフォルトの名無しさん (ワッチョイ 7102-rVGZ)
垢版 |
2017/10/30(月) 19:48:27.09ID:4jg/LOEr0
ワシみたいな趣味グラマーは公式ドキュメントなんか読まないからノープロブレム
2017/10/30(月) 19:49:37.11ID:s0I2evXG0
await/asyncの良い資料ってどこかに無いかね
ParallelやTaskの奴なら昔MSが出してたParallel Programming with Microsoft .NETが参考になったけど、こっちは全然見当たらない
2017/10/30(月) 20:09:03.29ID:1DqnyPzkM
>>658
具体的に何が必要?
2017/10/30(月) 20:18:18.09ID:s0I2evXG0
>>659
解説に加えてパターンやアンチパターンがあるとわかりやすいからありがたいけど、ググってもブログでちょっと触ってみましたみたいな記事しか無いんだよな
2017/10/30(月) 20:30:18.29ID:wEmOlfDHr
つかってりゃあ解るレベルのもんなんで何とも
2017/10/30(月) 20:32:27.51ID:RKfFK5VC0
OracleやAppleに比べるとMSDNは神レベル
2017/10/30(月) 20:35:57.71ID:ct0tj9Za0
>>662
MSDNは情報は多いが、ひどくのろまな亀だ。
664デフォルトの名無しさん (ワッチョイ 41b3-jdGw)
垢版 |
2017/10/30(月) 20:40:19.79ID:OohuTOK70
c#初心者のDTですが質問良いですか?
Visual Stdio 2017 でプログラムの実行方法が分かりません猫でも解るC#を見て打ち込んだのはいいのですが走りません
アドバイスをおぬがいします
2017/10/30(月) 20:40:41.88ID:RKfFK5VC0
単に使いこなせてないだけかもね
2017/10/30(月) 20:41:05.20ID:BomO59sy0
>>627
C#とVB.NETは構文が違うだけでだいたい一緒っていうイメージがありましたが、そういう側面もあるんですね
参考になりました
ありがとうございます
2017/10/30(月) 20:41:46.20ID:+mMPfUc40
>>664
先ずコードを晒せ、話はそれからだ

>猫でも解るC#を見て打ち込んだのはいいのですが
て事は、大して長いコードでも無いんだろうし
668デフォルトの名無しさん (ワッチョイ d175-rVGZ)
垢版 |
2017/10/30(月) 20:48:55.38ID:59na0HEH0
>>664
情報が少なすぎる
とりあえずなにかを動かしたいのか?

「新しいプロジェクト」

「コンソールアプリ」のプロジェクトを作成

static void Mainしたの中括弧の中にConsole.WriteLine(“Hello World”);
を追記する

画面の上にある再生ボタンを押す
669デフォルトの名無しさん (ワッチョイ 41b3-jdGw)
垢版 |
2017/10/30(月) 21:01:28.13ID:OohuTOK70
>>668
説明が足りなくてすいません
http://imepic.jp/20171030/755380
こんな感じで本を見て書いたやつを走らせたい息子が困っていまして
2017/10/30(月) 21:05:25.57ID:qj0DpEco0
全裸でデバッグする奴なら知ってるが
まさかチンコでタイプするツワモノがいたとは
2017/10/30(月) 21:10:30.63ID:Bbjg4pNZa
>>669
プロジェクト作ってないな

>>668の通りやってみるが吉
672デフォルトの名無しさん (ワッチョイ 41b3-jdGw)
垢版 |
2017/10/30(月) 21:12:08.05ID:OohuTOK70
>>671
ありがとうございます
2017/10/30(月) 21:12:54.40ID:dYkZ5PSi0
>>669
http://www.atmarkit.co.jp/ait/articles/1704/10/news026_5.html
http://www.atmarkit.co.jp/ait/articles/1704/10/news026_6.html
2017/10/30(月) 21:13:18.64ID:+mMPfUc40
>>669
画面に顔が映り込んでんぞw

プログラミングの前に、リテラシーを何とかしようぜ……
2017/10/30(月) 21:13:48.43ID:wouAVMNAH
Visual Studio 2017じゃない気がするんだけど
676デフォルトの名無しさん (ワッチョイ 41b3-jdGw)
垢版 |
2017/10/30(月) 21:14:34.02ID:OohuTOK70
>>674
アドバイスありがとう
2017/10/30(月) 21:16:25.50ID:dYkZ5PSi0
>>675
VS codeだな
>>676
今使っているのはテキストエディタでしかないのでVisual Studioを使ってください
678デフォルトの名無しさん (ワッチョイ 41b3-jdGw)
垢版 |
2017/10/30(月) 21:22:59.03ID:OohuTOK70
Visual Studioを使っているのですがなかなか走らないんですよ
http://imepic.jp/20171030/768660
ちなみに今こんな感じ
2017/10/30(月) 21:26:13.22ID:ums4+xqt0
>>669
まさかのVisual Studio Code
2017/10/30(月) 21:26:25.16ID:WQOxFad40
動いてるじゃん
2017/10/30(月) 21:26:49.92ID:ct0tj9Za0
>>678
プロジェクトがウィンドウになってるぞ。
コンソールプロジェクトを作れ。
682デフォルトの名無しさん (ワッチョイ 41b3-jdGw)
垢版 |
2017/10/30(月) 21:28:40.71ID:OohuTOK70
>>681
的確なアドバイスありがとうございます
2017/10/30(月) 21:30:53.30ID:ums4+xqt0
>>678
NECのPC使ってるヤツには何も教えません。
NEC肉けりゃPCまで
684デフォルトの名無しさん (ワッチョイ 41b3-jdGw)
垢版 |
2017/10/30(月) 21:32:42.46ID:OohuTOK70
>>683
仕方がないんですよリアル中1の息子ですから
ちなみに成功しましたありがとうございます
2017/10/30(月) 21:45:36.97ID:RIfFu6mhM
>>683
NECに何の恨みがあると言うのだ
素晴らしい企業だろう
2017/10/30(月) 21:52:18.37ID:+mMPfUc40
素晴らしいかどうかはともかくとして、特定企業に対する好き嫌いは宗教みたいなもんだから
深くツッコミを入れてはいけない

>>678
デジカメで画面を撮影するんじゃなく、スクショを撮る様にした方がいいぞ
2017/10/30(月) 21:54:35.90ID:su8UHeMj0
>>678
Formに文字列を表示する方法はいくつかあるけど
簡単な方法としてはラベルに文字列を代入する
("Label1"みたいなデフォルトの文字列はプロパティから削除しておく)
2017/10/30(月) 22:03:18.54ID:W3U3EqvHM
>>678
他の人も書いてるけど、それはVisual StudioじゃなくてVisual Studio Codeだから
VSを使ったほうがいいと思う
2017/10/30(月) 22:13:38.49ID:ZlZ2sOP4M
>>688
よく見たほうがいいよw
2017/10/30(月) 22:16:21.64ID:W3U3EqvHM
>>689
ああ…
いやそのスマホの小さい画面で

恥ずかしい
2017/10/30(月) 22:29:33.11ID:pVIch9qW0
みんなやさしくて泣けた。
2017/10/30(月) 22:33:12.77ID:YIhgL7yL0
>>688
www
2017/10/31(火) 00:03:40.89ID:VssU1hfBd
>>648
>>646
で、数字として扱わなければいけない理由書いたつもりだがな。
2017/10/31(火) 00:13:41.09ID:LbNkhFzoa
その議論は不毛だ思うよw

まあ、電話番号の最小単位の数字が単なる符号(記号というより符号だね)であったとしても
数字に符号されているんだから、コードでそれを表現する時には素直に順序付きの数字の並び(の並び)
として表現した方がいろんな処理場便利なのは確かだと思う

普通はやらねえと思うけどケタの表現にenumなんか使ってもいいことないねw
2017/10/31(火) 00:25:17.81ID:cFpPTw5nM
>>693
番号に#とか使ってたり
アメリカみたいにアルファベット入れてたら数字じゃダメだよ
2017/10/31(火) 00:30:44.11ID:CDGz4c1c0
電話番号だからどうとか関係ない
用途によって扱いが違うだけ
コンソールに表示したいんだから文字列にする
2017/10/31(火) 00:50:48.14ID:FwO1SqIy0
>>678
まあ、>>681 でいいわけだがVSから入るとMain と Formの関係がなかなか理解できんよな

そういうの解説してる入門書は少なくて
オレは高橋なんとかの「やさしいC#」の最初の方読んでようやく分かった
2017/10/31(火) 01:25:40.38ID:kCH+s2JN0
スッキリのJSとかC#バージョンを出版して下さい
2017/10/31(火) 06:51:13.60ID:Pxy1busQ0
Entity Frameworkにの和書って絶望的に無いけどお勧めある?
使ってるヤツ居るんか。
2017/10/31(火) 07:38:32.26ID:vjYSWXcI0
>>699
webなら普通に使ってる
ef単体に絞った本は見たことない
asp.net mvc の本ならefに触れてるはず
でも正直本は役に立たんかったわ
stackoverflowが一番役立った
2017/10/31(火) 08:00:58.58ID:tTECqdhTa
最近書籍弱いよね
本屋に行ってもオワコンなのか?と思うぐらい何もない
2017/10/31(火) 08:04:53.37ID:UxJjc40bM
>>701
ブログとかの情報で十分な場合がほとんど
2017/10/31(火) 08:13:56.58ID:1Z5oHBJNr
>>702
それが大きそうだね
2017/10/31(火) 08:16:12.54ID:VssU1hfBd
>>695
番号にシャープを入れるんじゃなくて、電話番号クラスのうち、シャープ特番クラスを作る方が良いのでは?
そうなると電話番号インターフェイスになるが。
アメリカのアルファベットは、ありゃ数字だ。数字をアルファベットで表現してるだけ。
なので、これは元言ってた電話番号クラスに数字列と表現列を作る他ないな。
そーすりゃ日本の語呂合わせ番号も(必要があるからはおいといて)保存できる。
2017/10/31(火) 08:31:09.08ID:znhbZmhV0
日本の携帯と固定電話に対応すれば殆ど対応できるんだから、後はメモ欄でも付けてそこに書けでいいと思うんだが
そうは問屋が卸してくれないよな
2017/10/31(火) 08:39:41.31ID:ABdbotTTM
>>700
Webにあるのはef4の頃の古いのしか見当たらないね。
mvcの本はあるけど全然役には立たん。
StackOverflowが一番役に立つ悲しい現実。
2017/10/31(火) 08:44:22.32ID:ABdbotTTM
>>701
洋書は沢山あるんだけどねぇ。
Linux本が一般書店に平積みしていた時代が懐かしい。
2017/10/31(火) 09:09:00.05ID:dHXhqPbt0
〜next();と〜next double();て整数乱数発生させるか実数乱数発生させるかの違い?
2017/10/31(火) 10:42:59.91ID:tTECqdhTa
実数の乱数ってそりゃ誤差じゃねぇのけ?w
狙った値が作れないから
整数で出して桁合わせする
俺はね
2017/10/31(火) 11:11:37.78ID:0nZAN2Wka
電話番号に#や*は使わないと思うよw
あれは自動応答を操作するためのトーンを割り当ててるだけじゃないの?
そんな番号があったらダイアル回線からかけられないじゃん
2017/10/31(火) 11:57:51.15ID:Q2spe3T60
もともとパルスの頃は数値ではあったな
0は10回パルスだった
DTMF利用して余ったとこに#と*割り当てて
独自に使い始めたんじゃないかなあ
712デフォルトの名無しさん (ガックシ 068b-rVGZ)
垢版 |
2017/10/31(火) 12:06:40.36ID:Jn8FhbAo6
電話スレか
2017/10/31(火) 12:08:18.63ID:yzv1EbBg0
>>710
ずーっと前からあるぞ
http://web116.jp/shop/benri/sharp/sharp_00.html
714デフォルトの名無しさん (ブーイモ MMeb-8qZI)
垢版 |
2017/10/31(火) 12:09:33.06ID:lgb8DbLAM
>>710
*はサブアドレスで使われる。
#は内線でよく使われるな。
715デフォルトの名無しさん (ブーイモ MMeb-8qZI)
垢版 |
2017/10/31(火) 12:12:12.86ID:lgb8DbLAM
>>713
そういえば、そんなのもあったな。
すっかり忘れてた。
2017/10/31(火) 12:21:20.41ID:OH9+jtHeM
>>711
今でもパルス回線はあるだろ。

国際電話番号の表記には+81とかある。
2017/10/31(火) 12:33:50.13ID:HOZp+Kdp0
その+は国番号を表す記号であって
実際に+をダイヤルするわけじゃない
まあ-も()もダイヤルしないから電話番号の一部じゃないけど
2017/10/31(火) 12:42:10.67ID:0nZAN2Wka
>>713
NTTの回線からしかつながらないものを電話番号と言ってよいかは微妙でしょう

>>714
後者はあきらかに電話番号とは違うような...
前者は微妙だけど、普通のアナログ回線からは掛けられないものを電話番号と言えるかどうか

まあ元のお題にもどれば、テクニカルに電話番号であろうがなかろうが
電話番号として扱えるようにすべきだとは思うけど
2017/10/31(火) 12:50:04.95ID:VssU1hfBd
>>718
と言うかコメはもともとアナログ回線で掛けてるときにいまからトーン送るぞってボタンだったんだが。
内線番号に関しては、待ってりゃ交換台出るだろ。
2017/10/31(火) 12:51:28.39ID:VssU1hfBd
電話番号でないものを電話番号として扱う、がわからんなぁ。
電話番号は電話番号として扱え、ならなるほどだけど。
2017/10/31(火) 13:01:26.31ID:yzv1EbBg0
>>718
>NTTの回線からしかつながらないものを電話番号と言ってよいかは微妙でしょう
これはプッシュホンのサービスと同時に開始されたサービスで、当時は電話サービスを電電公社が独占していたので、他の回線なんか存在しなかった

国際電話があるじゃねーかと言うかもしれんが、国際電話から繋がらない110などの特番は電話番号じゃねー というならその反論は認めよう
2017/10/31(火) 13:02:30.63ID:0nZAN2Wka
>>719
それは違うでしょう。
あれは(どこのメーカーが最初に始めたのか知らないけど)ただの電話機の機能で
恐らくNTTの定めた規格でも何でもない

自由化直後の電話機はダイアル回線モードだと*押そうが何仕様が
トーン出なかったような気が

まあいい加減どうでもいいねw

>>720
DTMFを認識する自動応答マシンにトーンを送るのは電話を掛けると言わないし
明らかに電話番号じゃないでしょう。
723デフォルトの名無しさん (ワッチョイ d98a-5+y+)
垢版 |
2017/10/31(火) 14:57:18.16ID:PGoVot5B0
ここまで電話スレ
724デフォルトの名無しさん (ワッチョイ 1be7-DNJs)
垢版 |
2017/10/31(火) 16:58:47.83ID:tljKmL6i0
visualC#のXNAでブロック崩し作ってるけどクソめんどくさいな作成+整理整頓するだけで混乱する
コンソールでしょぼいので完璧だって思ってると痛い目見るな
2017/10/31(火) 20:15:22.60ID:VEAfn5MF0
へぇ〜できたら公開して見せてよ
2017/10/31(火) 21:03:25.88ID:tTECqdhTa
こうやってプログラム=タダって概念が世の中に蔓延したよね
広告費で稼ぐ世の中になったけど
727デフォルトの名無しさん (ワッチョイ e9b6-AYwW)
垢版 |
2017/10/31(火) 22:07:06.75ID:UyVEd0rJ0
飢餓ベネズエラ「1600%インフレ率」で仮想通貨が生活の柱|ビットコインマイニング(採掘)で生き残る
http://virtualmoney.jp/I0001275
「ビットコイン」新世界のベネズエラ:自由を求める、採掘者たちの反逆
https://www.fuze.dj/2017/01/venezuela_mining.html
ベネズエラ、ビットコインマイナーが10万人規模に
http://btcnews.jp/5c5uq4ei13034/
ジンバブエではビットコインが80万円?自国通貨がインフレしている国の仮想通貨需要について
http://coinpost.jp/?p=5803
ビットコインとは?投資で儲かる仕組みと危険性を分かりやすく解説
https://enjoyrock.jp/bitcointoha-4370
2017/10/31(火) 22:10:24.98ID:ryJZgMRZM
ビットコインとはなんぞや?
729デフォルトの名無しさん (ワッチョイ 13f7-cyx1)
垢版 |
2017/10/31(火) 22:46:58.06ID:4MZcs+cX0
FindWindowで見つけたウインドウの画面をキャプチャすることはできますか?
ウインドウが隠れていてもキャプチャできるようにしたいのですが
PrintWindowと組み合わせようとしてもよくわからないです
2017/10/31(火) 22:57:04.76ID:QkT+8axj0
隠れている部分はそもそも描いてないでしょ
2017/10/31(火) 23:28:17.44ID:P79QNeNU0
そんなXP時代じゃないんだから…

隠しAPIのDwmGetDxSharedSurfaceが定番やね
今でも使えるのか知らんけど
732デフォルトの名無しさん (ワッチョイ 13f7-cyx1)
垢版 |
2017/10/31(火) 23:31:19.87ID:4MZcs+cX0
DWMも使ってみたいのですが日本語解説のサイトが全くなくて…
英語出来ないとやっぱりだめですね
2017/10/31(火) 23:59:12.73ID:RzsX96BS0
>>732
最小化されてなければ重なってようが画面からはみ出ていようが適当なBitmap作って
using (var g = Graphics.FromImage(bmp)) PrintWindow(hWnd, g.GetHdc(), 1);
とかでも済みそうだが。環境依存だろうから.NETには碌に無いしWin32APIの領分だなぁ
2017/10/31(火) 23:59:53.09ID:KKSGwBSw0
>>722
確かに、規格ではないな。そういう意味では、それこそ自由化されたあとはNTTのローカルルールに縛られず、すべてが番号として取り扱われるべきなのかもしれん。

自動応答マシンの特定のメニューまで進むのを「番号」と言っていいと思うぞ、俺は。
2017/11/01(水) 00:21:59.34ID:L5KemQuba
Win32関数のリファレンス日本語だけになっちゃったんだw
ほんといらんことするよなMSもGoogleもw
736デフォルトの名無しさん (ワッチョイ 13f7-cyx1)
垢版 |
2017/11/01(水) 04:36:44.91ID:dB2PwCEI0
https://ideone.com/jcN0mM
別のプログラムのキャプチャを取りたいのです
別のプログラムのProcessオブジェクトを取得してPrintWindow関数につっこみたいのですが
どうしたらよいでしょうか?
737デフォルトの名無しさん (ワッチョイ 13f7-cyx1)
垢版 |
2017/11/01(水) 04:39:54.64ID:dB2PwCEI0
GetProcessesByNameでオブジェクトを取得した後
↑に貼ったコードのCaptureControlにthisの代わりにどうやって渡せば良いでしょうか?
2017/11/01(水) 05:32:38.62ID:vhfog6b10
>>736-737
FindWindowと云うからP/Invokeは理解しているのかと思いきや、躓いてるのはソコかいってかコピペかい
ProcessオブジェクトにはメインウィンドウハンドルだけならMainWindowHandleプロパティが既に用意されてる
枠の有無でGetWindowRectやGetClientRect等のWin32APIでサイズ取得、枠無しならnFlagsにPW_CLIENTONLY(1)を指定

LPRECTをout Rectangleとしても互換性はあるが、メンバの意味は異なるので注意。あとOpenGL画面とかは怪しかった気もする
2017/11/01(水) 12:54:43.00ID:wiqlBWqs0
初歩的なことで申し訳ないですが、
C#をx86でコンパイルしたときlong型は何バイトですか?

32ビットですよね?

long型な引数を持つC++で作られたDLLを呼ぼうとしてるんですが
C#側もlong型にするとバイオレンスエラーが出るんです
2017/11/01(水) 13:00:28.87ID:xMsiUXHhM
>>739
64じゃないの
2017/11/01(水) 13:01:02.25ID:DoTChEv+0
C# の long型 の .NET型は System.Int64
64ビットだよ
2017/11/01(水) 13:30:22.67ID:JNwvccyI0
どうでもいいけどバイオレンスじゃなくてバイオレーションな
2017/11/01(水) 13:34:10.98ID:G3xjFDeG0
デジタル バイオレンス 略して DVか
2017/11/01(水) 13:43:47.20ID:wiqlBWqs0
ありがとうございます。
x86指定でもC#は64ビットですか。

つまり、x86なC++のlong = C#のint ってことですね
ありがとうございました。
2017/11/01(水) 14:07:25.95ID:vhfog6b10
>>744
x86なC++というかILP32ね、LLP64でもlongは32bitだから、Windowsに限り常に32bit
C#は常にintが32bit、longが64bit、IntPtrがポインターサイズでCIL名native int
2017/11/01(水) 14:12:57.28ID:a3/dOAjga
バイオレンスww
2017/11/01(水) 14:36:04.02ID:wgMqyCilM
>>745
IntPtrは64bitと32bitで自動的にサイズが変わる罠があるよね
2017/11/01(水) 14:53:25.19ID:58WxqpRI0
罠じゃなくてそれをマネージド上で扱うことを目的とした型やねんで
749デフォルトの名無しさん (ワッチョイ 1be7-DNJs)
垢版 |
2017/11/01(水) 15:34:33.63ID:DJIAeWHo0
>>725
当分出来ねえから期待しないでおけ
750デフォルトの名無しさん (ワッチョイ 13f7-cyx1)
垢版 |
2017/11/01(水) 15:53:44.71ID:dB2PwCEI0
>>738
すいません高度すぎてちょっとよくわからないです
FindWindowでウィンドウハンドルを取得して画面をキャプチャするプログラムは作れたのですが
ウインドウハンドルしか取得してないのでウインドウの大きさが設定できなくて困っています
(現在ピクセル数で設定)
GetWindowRectやGetClientRectを使おうとしてもRECT構造体の定義がよくわからなくて出来ません。

GetProcessesByNameで取得したProcessオブジェクトからハンドルとオブジェクトの大きさを取り出すにはどうしたら良いでしょうか?
2017/11/01(水) 16:36:24.43ID:4v6bi03L0
>>750
http://www.pinvoke.net/
2017/11/01(水) 16:43:34.62ID:wgMqyCilM
>>750
https://msdn.microsoft.com/ja-jp/library/a5ch4fda.aspx
753デフォルトの名無しさん (ワッチョイ 13f7-cyx1)
垢版 |
2017/11/01(水) 17:06:28.99ID:dB2PwCEI0
>>751
よくわからないですが後で読んでおきます
>>752
そのページは見たことあるんですが意味がよくわからないです…

すごく低レベルな質問だと思うのですが
Process[] ps = Process.GetProcessesByName("notepad");
foreach (System.Diagnostics.Process p in ps)
{
textBox1.Text = p.MainWindowTitle;
}
だと問題ないのに
Process[] ps = Process.GetProcessesByName("notepad");
textBox1.Text = ps[0].MainWindowTitle;
では動作しないのは何故でしょうか?
2017/11/01(水) 17:12:20.00ID:a3/dOAjga
>>753
後者だけ動かない理由はないから何か勘違いしてるんでしょう
2017/11/01(水) 17:29:00.13ID:wgMqyCilM
>>753
動作しないの内容が曖昧です。
756デフォルトの名無しさん (ワッチョイ 13f7-cyx1)
垢版 |
2017/11/01(水) 17:35:15.46ID:dB2PwCEI0
すいません動きました!
メモ帳開いていなかっただけでした…
2017/11/01(水) 17:37:14.82ID:qqAk/1TWM
勉強用トイプログラムで抽象クラスを継承したクラスにインタフェースを継承したのですが、実務の世界ではよくやる事でしょうか?
抽象クラス側にインタフェースのメソッドを書くとか美しく無いので邪道な事をしてるかもと心配になりまして
2017/11/01(水) 17:46:07.56ID:xAl8OFsq0
>>744
公式にアンマネージとマネージでのデータ形式のリファレンスがあるからそこ見ておいた方がいい
https://msdn.microsoft.com/ja-jp/library/ac7ay120(v=vs.110).aspx
C#でlongは紛らわしいから使わない方がいいと思う
>>753
構造体がわからないとWinAPI使えないよ
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/using-structs
759デフォルトの名無しさん (ワッチョイ 1be7-DNJs)
垢版 |
2017/11/01(水) 17:55:43.82ID:DJIAeWHo0
ボールとか壁に当たって反転させるときに
int speed=1;
更新処理
position.x+=speed;
if(800<position.x)
{
speed*=-1;
}
こうゆう反転っておkなの?+=って無駄じゃねえかとか言われない?
760デフォルトの名無しさん (ワッチョイ 13f7-cyx1)
垢版 |
2017/11/01(水) 19:13:00.27ID:dB2PwCEI0
https://ideone.com/gKjIFo
見よう見まねでRECT構造体を使おうとしているのですが
17行目の&rectWinという所で以下の2つのエラーが出てしまいます
何が間違っているのでしょうか?

ポインターおよび固定サイズ バッファーは、unsafe コンテキストでのみ使用することができます。
引数 2 はキーワード 'out' と共に渡す必要があります。
2017/11/01(水) 19:18:35.70ID:JgbY2jhcM
>>760
その文面でググれば多分わかる

というよりメッセージどおりだよ
引数に out 付けよう
意味が分からないなら調べよう
2017/11/01(水) 19:18:49.98ID:C3RJkmbpd
>>757
人間クラスと継承した社員クラスがあるとして
体重身長インターフェイスは人間クラスに、入社日退職日インターフェイスは社員クラスにってのが普通だと思うけど
抽象クラスだから付けないって考え方は美しくないんじゃないかな?
763デフォルトの名無しさん (ワッチョイ 13f7-cyx1)
垢版 |
2017/11/01(水) 19:22:01.17ID:dB2PwCEI0
>>761
できました!有難う御座います!!!!!!!
2017/11/02(木) 04:46:41.42ID:leSyCza7a
なにこれ
http://www.bityet.us/FVNN6-t6.jpg
https://goo.gl/kLNWUT
2017/11/02(木) 07:15:17.22ID:pmQPnNAeM
>>762
なるほどその通りですね
営業志望の未経験者なのにC#開発しろと言われ正しくOOしてるか不安でした
参考になります
OOとは徹頭徹尾ヴァーチャルマシーンと言われてもピンと来なくて。。。
2017/11/02(木) 13:32:08.71ID:wZG1ntZl0
みなさんありがとうございました。

C++側で void test(long aa[2]);

みたいに定義されてるやつをC#から使うときも IntPtr でやりくりするしかないんですよね。
2017/11/02(木) 14:07:36.43ID:RiVwOr7+M
c#はインタープリタなので遅いって言われたw
768デフォルトの名無しさん (ガックシ 0626-zraI)
垢版 |
2017/11/02(木) 15:50:21.67ID:i1tOzlAd6
バイナリプログラムもCPUがインタープリットしてるしインタープリタだなw
2017/11/02(木) 16:06:47.45ID:/X9eIi7aM
>>766
いやintを2つ並べただけの構造体を用意してrefかout使えばいい
2017/11/02(木) 16:12:10.17ID:KloAouzuM
>>767
コンパイラ型なんだけど。。
あほなの?
2017/11/02(木) 16:17:55.02ID:wZG1ntZl0
>>769
pack意識したうえで配列という手もありますね
どっちにしろコード量は増えますね

C# 側で ref を付けるだけで
勝手にIntPtrやらマーシャル確保・代入・解放してくれたらいいのに・・・
char * → string みたいな超絶ラクチンな方法でさ
2017/11/02(木) 16:20:47.53ID:wZG1ntZl0
ちょっと早合点で書き込んでしまいましたが

[StructLayout(LayoutKind.Sequential, Pack = 4)
struct struct_aa
{
public int aa1;
public int aa2;
}
struct_aa aa;

としたうえで

test(ref aa);

で出来ちゃうんですか!?
2017/11/02(木) 16:43:51.34ID:/X9eIi7aM
>>772
それでいけるはず
2017/11/02(木) 17:08:27.57ID:hwMc8ywnM
>>770
昭和のおっさんなので仕方ない
2017/11/02(木) 17:12:38.78ID:oE5JXb4z0
配列でそのまま渡せばいいのにわざわざ変な方法使うとか
>>766
C#から渡すときはvoid test(int[] aa);でいいんだよ。Visual Studio以外なら知らん
>>772>>773
アンマネージ側で定義されていない構造体を勝手に作って渡すって考え方がおかしい
アンマネージ側で要求されている引数の形式に合わせるのが基本だろ
2017/11/02(木) 17:42:00.04ID:wZG1ntZl0
ググって最初のほうに出てくるサイトで char * 以外は全てマーシャってるので
てっきり IntPtr を駆使すると思い込んでました。
配列じゃないポインタ渡しは ref/out で何の造作もなく出来ました。
(マーシャル関連のコードを大量に書いていたのが馬鹿らしくなるほど)

んで配列ですが

// C++(x86)
extern "C" __declspec(dllexport) void test(long a[2]);

// C#
[DllImport("usrbatch.dll", CallingConvention = CallingConvention.Cdecl)]
static extern void test(out int[] a);

int[] a = new int[2];
test(out a);

で、バイオレーションエラー出ちゃいます。。。
2017/11/02(木) 17:52:53.60ID:oE5JXb4z0
>>776
C++側からC#にoutする形で返したいのならC#からポインタにして渡す
そのコードのC#側のout(ref)だと変な動きにしかならない。消せ
2017/11/02(木) 18:01:00.66ID:wZG1ntZl0
うわぁ、ありがとうございます。

先方で値が書き換わる場合には ref/out を付けないといけない
(付けなかったら配列だろうが値渡しになる)

だと先入観で思い込んでました。
配列だったらC++と同じくポインタ渡しになるんですね!

// C#
[DllImport("usrbatch.dll", CallingConvention = CallingConvention.Cdecl)]
static extern void test(int[] a);

int[] a = new int[2];
test(a);


で、うまくいきました。
(C++側で設定された値が戻ってきた)
2017/11/02(木) 18:34:34.93ID:OVuNv67Pa
>>778みたいな場合、アンマネージド関数の宣言の仮引数にOutAttributeを付ける必要が
あるのかないのか、MSDN読んでもいまいちよく分からん

https://msdn.microsoft.com/ja-jp/library/75dwhxf7(v=vs.90).aspx
を読むとBittableな型の一次元配列の場合不要のようにも思えるが、

https://msdn.microsoft.com/ja-jp/library/hk9wyw21(v=vs.90).aspx
のサンプルでは属性がついてる
2017/11/02(木) 22:14:18.55ID:FJPOLiu40
>>779
そのリンク先に書いてあるぞ

これらの型は、呼び出し元と呼び出し先が同じアパートメントに属する場合には、In/Out パラメータとしてマーシャリングされるように見えることがあります。
ただし、そのような型は実際には In パラメータとしてマーシャリングされるため、引数を In/Out パラメータとしてマーシャリングする必要がある場合には、InAttribute 属性と OutAttribute 属性を適用する必要があります。

Outがないと保証されない
2017/11/02(木) 22:48:20.45ID:uoctVHYW0
>>778
ref/outは書き換え云々というより変数の参照で初期化の必要があるかどうか、P/Invokeでは構造体くらいにしか使わぬ
配列は参照型なので参照の参照になるし、そのままでもオブジェクトヘッダ+要素数を含むのでネイティブ配列へはちょっとズラしている

>>779
上のページに>>780の通りずばり書いてないか?コピーと固定 # 書式指定された Blittable クラスのメモとかにも。そういう事ではなく?


既定のマーシャリング動作を理解し、MarshalAs属性とIn/Out属性を駆使すれば、Marshalメソッドの出番はあまりなくなる
Marshal.UnsafeAddrOfPinnedArrayElementとかもArrayWithOffsetというお誂え向きな構造体がある
手動でIntPtrを捏ね回すのが有効なケースもあるが。ちぃと古いけど↓の記事はよく纏められている
https://msdn.microsoft.com/ja-jp/library/ff647812.aspx#scalenetchapt07_topic4
2017/11/02(木) 22:54:42.83ID:vimPIuS6M
GCがうざいならstackallocを使う手もあるよ
unsafeになるけど、マネージ配列のマーシャリング使ったとしても境界外へアクセスしたら普通にクラッシュするんだし
むしろ危険な操作は明らかに危険とわかったほうがマシ
2017/11/02(木) 23:07:34.82ID:OVuNv67Pa
>>780-781
レスどうも

よく分からない箇所は結局、>>780に引用してある部分の
>同じアパートメントに属する場合には

この但し書きかな。
同じアパートメントって何だ?

>>778のケースでは結局Out属性なしでも期待通り動くみたいだけど、
逆にBittableであっても明示的にOutを付けないといけないのはどういう
場合なんだろうか
2017/11/03(金) 01:31:28.84ID:zjyHgUY90
>>782
stackallocはスタックを理解していなければ危険すぎないか、少量で確保速度が最重要ならアレだけど
unsafeポインターを使うならfixedでも境界チェックは外れるし、そのあたりで…

>>783
アーその辺はCOMの話かな、COMマーシャリングが挟まれると固定では済まなくなるという
https://msdn.microsoft.com/ja-jp/library/eaw10et3.aspx#marshaling_and_com_apartments
具体例については…直接COM使った経験がC++でちょろっとしか無いのでわっかんないや(無能
785デフォルトの名無しさん (ワッチョイ 2ee8-zAbU)
垢版 |
2017/11/03(金) 04:43:40.14ID:ZqwqQq4y0
Parallelの動きがわからん
10個のZIPを同時に解凍する処理するとして

Parallel.Forで実行したらどうなる?
ちなcore i7
エラー?
2017/11/03(金) 09:51:59.78ID:wXWM393Ar
1.5倍(適当)くらい速くなる
2017/11/03(金) 10:02:10.84ID:YKGzMcXY0
>>785
同時実行数はCPUのスレッド数だから8個同時に展開して、2個は待ちになるんじゃね
CPUより展開後ファイルサイズによってはHDD書き込みがネックになりそうな気もするけど
2017/11/03(金) 11:00:02.96ID:QTbHfBOQ0
>>787
オイ!
2017/11/03(金) 15:48:21.85ID:m874gEkx0
>>786
1.5ってすごくいいよ

>>787
動き知りたいんよ
どうなるか
2017/11/03(金) 15:52:47.69ID:OoLmNkMra
何を期待してるか知らないけどやればいいじゃないか
791デフォルトの名無しさん (ワッチョイ c2f7-48Ez)
垢版 |
2017/11/03(金) 17:10:18.04ID:bRMk/YPf0
c#で画像の黄色部分だけを白にして残りを黒にする様なことはできますか?
2017/11/03(金) 17:32:15.18ID:tw8puOLsM
>>791
ProcessでImageMagick呼べば一瞬でできる
似た色はどこまで許容するのかとかいちいち個別に作ってたらキリがない
2017/11/03(金) 18:22:36.00ID:QTbHfBOQ0
DataTable dt = new DataTable();

bool foofunc(ref DataTable dt)
{
  ・・・・
  adapter.Fill(dt);

こんなコード見たんだが何かメリットあるのか?
2017/11/03(金) 18:28:01.91ID:tw8puOLsM
>>793
それ書いた奴が参照型を理解してないんだと思う
何の意味もないので絶対に真似してはいけない
2017/11/03(金) 18:37:57.11ID:QTbHfBOQ0
>>794
c#歴10年のヤツのコードなのだ。
当然foofunc内でtry/catchがあり戻り値にエラー有無が返る。
愚痴ってスマヌ。
2017/11/03(金) 18:41:43.76ID:lrZzjWeI0
>>792
そういうのって、C#でって言うのかな。
2017/11/03(金) 19:35:14.12ID:Xp/sMfFK0
>>791
最低限の要件だけ勝手に解釈してこんな感じ
https://ideone.com/j4HMm8
798デフォルトの名無しさん (ワッチョイ 2ee8-zAbU)
垢版 |
2017/11/03(金) 19:43:53.45ID:ZqwqQq4y0
imagemagickってソースに組み込める何か提供してるん?
2017/11/03(金) 19:44:48.34ID:EmHaDWp+0
大昔にマスク画像を作っていたのを思い出した
2017/11/03(金) 20:02:57.12ID:Xp/sMfFK0
ついでに補足しておくとMarshal.ReadInt32でなくMarshal.Copyでバイト配列で4バイトずつ読めば
Blue,Green,Red,Alphaが取れるから許容範囲設定とかしたかったらそっちで
2017/11/03(金) 20:15:49.55ID:WHWgtK+kr
経験年数と理解度?にどれだけの相関関係があるのか
疑問が生じている今日この頃
2017/11/03(金) 20:20:24.80ID:aVxxhWTE0
相関関係はある
但し個人差は大きい
2017/11/03(金) 20:26:05.42ID:QTbHfBOQ0
>>798
https://www.imagemagick.org/script/develop.php
2017/11/03(金) 22:49:49.36ID:om2fc3b00
>>793-794
refで渡せば、呼び出し先の関数で、呼び出し元の変数のインスタンスを変更できる

これをやりたい状況がどれだけあるかとか、やるべきかどうかとかはおいといて
なんの意味もないわけではない
2017/11/04(土) 00:09:44.98ID:3cC+jj+w0
>>793のケースで意味がなさそうって>>793,794は言ってるのに、
>これをやりたい状況がどれだけあるかとか、やるべきかどうかとかはおいといて
とか一般論を言い出してそのつっこみよくわからん。
806デフォルトの名無しさん (ワッチョイ c2f7-48Ez)
垢版 |
2017/11/04(土) 01:46:45.24ID:qZ8I6rgd0
>>797
ありがとうございます。
ほぼ真っ黒になってしまったのでRGB値で範囲指定できる様にやってみます。
2017/11/04(土) 04:11:36.08ID:MnNwpnC60
>>804
君も参照型を理解してないね。
2017/11/04(土) 08:41:31.55ID:sTeHaJ1X0
>>807
この話の流れに>>804がふさわしいかどうかはおいとくとして...

> 君も参照型を理解してないね。
ちょっと説明してみ
2017/11/04(土) 09:02:47.97ID:5h9DYzfZ0
DataTable dt = new DataTable();

bool foofunc(ref DataTable dt)
{
  DataTable dt = new DataTable();
  ・・・・
  adapter.Fill(dt);

「なんの意味もないわけではない」のコードにはなったが
更に輪をかけた馬鹿コードに進化させてみた。 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
2017/11/04(土) 09:17:38.08ID:5h9DYzfZ0
DataTable dt = new DataTable();

bool foofunc(ref DataTable dt)
{
  dt = new DataTable();
  ・・・・
  adapter.Fill(dt);

間違えてたw
2017/11/04(土) 09:19:39.29ID:flyq3nv80
それじゃただのoutじゃんrefの意味じゃないじゃん(難癖
2017/11/04(土) 09:48:23.86ID:5h9DYzfZ0
>>811
そう、参照型にrefは無意味なのです。

参照型が分かってないよりこのコードが問題なのは、
検査結果を引数に返して実行エラーの有無を戻り値で返していること。

参照型も理解していないが例外処理はもっと理解していない糞野郎のコード。
2017/11/04(土) 09:51:19.52ID:5h9DYzfZ0
×検査結果
○検索結果

スマン、寝ぼけてるわ
2017/11/04(土) 10:16:12.92ID:q474DaJy0
>>812
Dictionary.TryGetValue()とかあるし、そこはケースバイケースかな。
参照型にref付けてるくらいだから、何も考えてないのかも知れないけど。
2017/11/04(土) 10:20:08.20ID:5h9DYzfZ0
>>814
public bool TryGetValue (
  TKey key,
  out TValue value
)

refじゃなくてoutやないかい!
2017/11/04(土) 10:29:08.52ID:q474DaJy0
そうだった。>>811とまざった。
こっちも寝ぼけてるねw
2017/11/04(土) 10:29:22.28ID:fyiwYE9E0
つまり
>>793

DataTable dt = new DataTable();

bool foofunc(DataTable dt)
{
  ・・・・
  adapter.Fill(dt);


とは同じ結果になると
2017/11/04(土) 10:37:55.56ID:q474DaJy0
>>815
まぁ、outにする必要はあるけど、
「検査結果を引数に返して実行エラーの有無を戻り値で返していること」
自体に問題はないな。
2017/11/04(土) 10:38:05.17ID:OcSSsXSe0
この手のメンバ変数に検索結果をセットする時はこんな感じにして、例外処理は基本呼出側に任せちゃうんだけど問題あるのかね?
前はエラーコードのEnum返してたけど、エラーケースの殆どが例外処理で扱われる物ばかりだったので止めちゃった

DataTable dt = new DataTable();

Void SetHoge(DataTable dt){
    ・・・・
    adapter.Fill(dt);
}
2017/11/04(土) 10:56:19.06ID:q474DaJy0
>>819
それで良いと思う。
上のみたいに成功したかどうかを返り値で返すのは、
正常運用の範囲内で失敗する場合があるのを想定している場合。
2017/11/04(土) 12:23:07.70ID:5h9DYzfZ0
>>819
自分ならこうするけど。

DataTable GetHoge()
{
  var dt = new DataTable();
  ・・・・
  adapter.Fill(dt);
  return dt;
}
2017/11/04(土) 13:59:17.12ID:dOyJdliUp
>>821に1票
2017/11/04(土) 14:56:00.76ID:ePC4mkkA0
参照型にrefは無意味って言ってるやつは
呼び出し元変数のインスタンスを変更「できる」
ってことをどう評価してるのか
2017/11/04(土) 15:15:02.21ID:Vg1Izipf0
型がわからない変数と同じ型の変数を用意したいときってなんか記述方法ある?
型を調べるとかじゃなくてプログラミング的に解決する手法あったら教えて
2017/11/04(土) 15:24:28.88ID:m6ZusNHm0
型引数で解決できるならそれで
2017/11/04(土) 15:24:47.55ID:Yg7qqeZtd
>>824
ヴァーか?
2017/11/04(土) 15:41:42.41ID:WuSfeAlZa
>>824
var y = 謎の変数x;

っていうか、たぶん何か勘違いしてると思うw

「型が分からない変数」っていうのは実行時に型が決まるって意味なんだろうけど、
変数の型は静的に(コンパイル時に)確定しているのでそれはありえない

それとも匿名型のことを言ってる?
2017/11/04(土) 15:49:14.84ID:jl0ZLZ4q0
dynamic型ならコンパイル時の型チェックは行なわれず実行時に解決するね
2017/11/04(土) 15:52:54.75ID:WuSfeAlZa
>>828
いや、「変数の型」は静的に決まるでしょ。自分でdynamic型って書いてるじゃんw
2017/11/04(土) 15:55:26.19ID:tIYipYwe0
>>824
var x1 = new X();
var x2 = Activator.CreateInstance( x1.GetType() );
2017/11/04(土) 16:13:39.02ID:sTeHaJ1X0
>>823
まあそれが必要なケースがほとんどないし
2017/11/04(土) 16:19:15.36ID:2EEZfJvra
引数のnullチェックして必要ならインスタンスをnewしてつけられる
2017/11/04(土) 16:41:13.06ID:tIYipYwe0
バットノウハウっぽい
2017/11/04(土) 16:43:39.78ID:FXv0ObyH0
>>833
バットは関係ないやろ
2017/11/04(土) 16:53:42.21ID:/YBu7JsUM
>>832
出来るが引数がnullな時点でArgumentException飛ばすんで実用価値はほぼないな。
2017/11/04(土) 16:58:31.41ID:tIYipYwe0
>>834
関係ないな。しょぼい誤字だ。

>>824
何をやりたいか分からないが、ジェネリックメソッドでは目的に沿わないかな。
2017/11/04(土) 17:05:47.97ID:83ZjnaGFa
javascriptみたいなのを想定してるんだろうけど
まあ普通はない
2017/11/04(土) 17:44:10.96ID:SXZaCuwQ0
ベッドノウハウ
しかし俺は未経験
2017/11/04(土) 17:51:46.51ID:sTeHaJ1X0
>>832
だからそんなことが必要になったことがどれだけあるんだ?
2017/11/04(土) 18:10:38.00ID:WuSfeAlZa
なんかしょうもないことで争ってるけど、>>823の方が正しいね

エイリアスの機能がいらないならそもそもrefってキーワードも用意されてないでしょ
負け惜しみでくだらない意地を張るのは子供っぽいよ
2017/11/04(土) 18:13:38.30ID:wTKOoVxtr
ペットノウハウ
ボトルじゃないよ
2017/11/04(土) 18:17:18.92ID:wTKOoVxtr
MSらしく反則技が用意してあるだけ
初心者は使わない方が無難
返り値が二つ以上欲しい時は今なら名前付タプルを使う
2017/11/04(土) 18:26:59.70ID:flyq3nv80
返値代わりに使うのはoutだし今ならって言ってるとおり昔はなかったんだし
ちょっと何言ってるのか分からない
2017/11/04(土) 18:35:14.75ID:sTeHaJ1X0
>>840
> エイリアスの機能がいらないならそもそもrefってキーワードも用意されてないでしょ
???
refって参照型じゃなくても使えるんだが...
参照型にrefを使うことがほぼないだろって話だと思うけどな

> 負け惜しみでくだらない意地を張るのは子供っぽいよ
自己紹介は要らんよ w
2017/11/04(土) 18:40:28.61ID:WuSfeAlZa
>>844
意味が分からない

変数の値の利用と書き換えの両方が必要かどうかは、その変数の型が
参照型であるか値型であるかは関係ない。

何を言ってんの?
しかし、いい歳こいて幼稚な奴って嫌だねほんと
2017/11/04(土) 18:43:37.92ID:OcSSsXSe0
>>842
名前付きタプル使いたいけどVS2013限定という変な縛りに囚われているわ
フレームワーク縛りは判るけど、IDEのバージョンを縛る理由ってなんなんだろう
2017/11/04(土) 18:58:38.30ID:3Qk/5QRnM
古いコンパイラでビルドできなくなるだろ
俺個人としては大した問題ではないと思うけど、大した問題だと考える人がいるのは普通に理解できるぞ
2017/11/04(土) 19:12:51.54ID:sTeHaJ1X0
>>845
> 変数の値の利用と書き換えの両方が必要かどうかは、その変数の型が
> 参照型であるか値型であるかは関係ない。
えっ?
普通にググればrefが値型と参照型でどう使われてるかわかると思うんだが...
引っ込みつかなくなってるのかな

> しかし、いい歳こいて幼稚な奴って嫌だねほんと
また自己紹介ですか? w
2017/11/04(土) 20:19:58.00ID:m6ZusNHm0
幼稚呼ばわりが得意なのはかの例外を握り潰す人だが
2017/11/04(土) 20:22:16.23ID:m6ZusNHm0
ようするにキチガイなので相手にしなくてよいという話
2017/11/04(土) 20:45:43.86ID:5h9DYzfZ0
>>840
とりあえず、refは値型以外には使い道が無いのは確定で。
2017/11/04(土) 20:48:54.35ID:wTKOoVxtr
>>846
2017?
2017/11/04(土) 20:49:38.51ID:mF4CZaPha
>>848
マジモンかよ

俺個人が使うか、あるいは一般に多用されるかどうかはともかく、
参照型であろうと変数の値(つまり参照)そのものを書き換えたいケースは存在すると思われる。

たとえばStringのようなイミュータブルな型や配列の長さのように変更できない要素を
持つ型の場合、元の値を利用しつつそれを加工した値を返すにはrefを使うしかない
2017/11/04(土) 20:50:11.25ID:jl0ZLZ4q0
最近見たrefはBindableBaseの中だったな、ref Tとかジェネリックの場合
普段は使わないね
2017/11/04(土) 21:08:51.42ID:uh9vgcan0
議論ごっこやりたいのなら
ふらっと C#,C♯,C#(議論用)
http://mevius.2ch.net/test/read.cgi/tech/1469538912/
で好きなだけやってくれ。ワッチョイもないから
2017/11/04(土) 21:14:23.59ID:5h9DYzfZ0
意味もなく
try
{
  ・・・
{
catch
{}

try
{
  ・・・
{
catch (Exception ex)
{
  throw ex;
}
するヤツってアフォですか?
お願いだから辞めてください。
2017/11/04(土) 21:16:19.73ID:mF4CZaPha
>>856
プログラマがそこで例外が発生しうることを認識してそのコードを書いていることを
明示する意味はあるよ。

>>851といい、ちょっと単細胞過ぎないか?
2017/11/04(土) 21:28:09.69ID:sTeHaJ1X0
>>850
了解
>>853を見る限りおまえの言う通りだな

>>851
さすがにそれは極論過ぎ
2017/11/04(土) 21:30:25.68ID:VAjFkczd0
>>857
え?
2017/11/04(土) 21:49:38.46ID:FXv0ObyH0
>>857
c#で>>856やるとそこまでのスタックトレース消し去ることになるんだけど正気?
2017/11/04(土) 21:49:52.84ID:jdRJf/Av0
ファイルが読めない程度で例外返すクラスとか一旦握り潰して動作を変えたい
2017/11/04(土) 21:53:09.24ID:J+hizfOLd
>>861
c#使うのやめた方がいいな
2017/11/04(土) 22:02:23.28ID:5h9DYzfZ0
>>862
go言語が例外処理の機能を無くした理由の1つは、大半のプログラマーが例外処理を正しく扱えないから。
本当にそう思うよ。
2017/11/04(土) 22:06:52.22ID:mF4CZaPha
>>860
まあ後者はたしかに普通やらないと思う。
ただ、例外情報なんて必ずしも常に必要とは限らない。
2017/11/04(土) 22:07:27.03ID:/B23IXM6M
>>861
関数の返り値でエラー処理したい人?
2017/11/04(土) 22:09:09.61ID:KEPGzX0z0
>>863
C#使うのやめてGo使った方がいいな
2017/11/04(土) 22:12:09.30ID:mF4CZaPha
>>865
TryXXXなんてのがあるように、そもそも成功したかどうかしか関心がない場合もあるでしょ
2017/11/04(土) 22:12:58.59ID:5h9DYzfZ0
>>866
Go言語もまともには扱えないと思う。
2017/11/04(土) 22:14:37.92ID:5h9DYzfZ0
>>867
それは例外でエラーを拾はないでエラー処理をしたい場合。
例外処理は少々重い。
2017/11/04(土) 22:19:20.92ID:48c6JPwZa
例外は便利だよ
変な使い方しなければ
2017/11/04(土) 22:23:38.64ID:/B23IXM6M
>例外処理は少々重い。
初回の例外発生の時にその例外クラスがロードされるみたいなんだけど、その事?
2017/11/04(土) 22:40:21.94ID:FXv0ObyH0
>>864
常に必要ではないが、それをわざわざ消す必要があるか?
2017/11/04(土) 22:40:24.62ID:WGNINBFE0
ファイルを削除や移動する前に、他のソフトで使用中かどうかを調べるのに
R/Wモードでオープンしたときに例外が発生するかしないかで判断するしか無い
この処理のときはcatchでfalse返して例外を握りつぶしている
2017/11/04(土) 22:56:58.41ID:mF4CZaPha
>>872
まあ、たとえ使わなくてもInnerExceptionに食わせて再スローした方がベターだとは思う
2017/11/04(土) 22:59:45.13ID:FXv0ObyH0
>>874
Java出身の人がよくやる勘違いだよね
2017/11/04(土) 23:37:22.84ID:48c6JPwZa
例外で何を伝えたいかどう制御したいか決まってなければ迷うかもしれない
例外出ても継続できる内容なのかもあるかな
877デフォルトの名無しさん (ワッチョイ c28a-cDlW)
垢版 |
2017/11/05(日) 00:13:35.57ID:m9wZGInC0
例外をどこで処理するか(または投げっぱなすか)という基準をきちんと決めないとカオスになりがち
でも事前に決めて徹底させるのが難しい場面も多いのよね
878デフォルトの名無しさん (ワッチョイ 2ee8-zAbU)
垢版 |
2017/11/05(日) 00:49:39.43ID:/t3HbS0w0
タスケテ!!!
RARを回答する方法がわからないの!
なんか組み込みでいいのないの!?
2017/11/05(日) 00:53:25.52ID:yAuwzX3k0
>>878
7Zipのライブラリで回答できた
https://sevenzip.osdn.jp/sdk.html
使い方はすっかり忘れたから聞かないでくれ
2017/11/05(日) 00:55:50.51ID:eJ/HGJ4TM
コトリンの恐怖がおんどれらを襲うwww
2017/11/05(日) 01:34:09.45ID:27Wvnc5t0
適当に検索してみたら、それなりにref stringとかを伴うコードがあった
最近のref絡みの言語拡張を見てもコンパイラ絡みのガチガチに最適化するところとかはref引数の使いどころがあるっぽい
https://github.com/dotnet/corefx/blob/ab0c04f10c8094731d13de6f0ceaa71dd776aa00/src/System.CodeDom/src/System/CodeDom/Compiler/Executor.cs

あと、二重ポインタを扱うPInvokeとかでもでてくる
2017/11/05(日) 01:47:27.68ID:+CtSMn6Br
CodeDomだからC#創成期だね
いわゆるひとつのレガシー
883デフォルトの名無しさん (ワッチョイ 2ee8-zAbU)
垢版 |
2017/11/05(日) 01:51:07.20ID:/t3HbS0w0
>>879
ぐぬぬだよ!
exeとdll持ってきてコマンドラインにするかあ
884デフォルトの名無しさん (ワッチョイ 2ee8-zAbU)
垢版 |
2017/11/05(日) 02:12:10.73ID:/t3HbS0w0
外部のexeをインスタンス化してそれにコマンド発行ってできる?出来た気がする
7Zipを複数起動して複数ファイルの圧縮と解凍をしたいのよ
885デフォルトの名無しさん (ワッチョイ 2ee8-zAbU)
垢版 |
2017/11/05(日) 02:25:25.39ID:/t3HbS0w0
ProcessStartInfoか
なんでもないです
2017/11/05(日) 03:06:49.05ID:5Sua66ij0
>>884
ファイルIO絡むから、複数同時に動かすとむしろ遅くなるんじゃないかな。
887デフォルトの名無しさん (ワッチョイ 2ee8-zAbU)
垢版 |
2017/11/05(日) 04:13:51.92ID:/t3HbS0w0
>>886
えー
SSDやRAMに出しても?
メモリ内で解凍してデータ加工して再圧縮できない?全部メモリ内で

外部ツール使ってたら無理か
2017/11/05(日) 07:19:38.45ID:3uuR82Hq0
>>881
夜中まで必死にググった努力は認める w
>>882の言うように今時としてはいまいちのコードだよ
2017/11/05(日) 07:21:17.15ID:eAtbP2F40
「ref string」が何に使えるかは置いておいて、これで合ってる?
ttps://ideone.com/k9UegY
2017/11/05(日) 07:24:20.42ID:3uuR82Hq0
>>886
むしろI/O絡むから複数同時の意味がある
2017/11/05(日) 08:45:03.60ID:TvjmwwI20
>>871
仕組みは良くわからんけどスタックトレースを辿るとかの処理が重いと思ってる。
速度の必要の無い処理はオレオレ例外投げてエラー処理してる。
その方がコードがスッキリ書けるし。
2017/11/05(日) 08:47:05.58ID:TvjmwwI20
>>881
いつの間にか、ref 参照型 は不要から ref 全て不要に変わってるし。
ref 値型は必要でしょう。
2017/11/05(日) 09:02:12.28ID:TvjmwwI20
>>877
例外をどこで処理するかは非常に簡単だが皆分かってない。

・例外をcatchして処理できる場合はcatchして処理する
・処理できない場合は何もしなくて(無駄にcatch throwもしない)呼び出しもとに任せる
・最後はAppDomain.UnhandledException等で拾ってログ吐いて落とす

何も出来ないのにcatchしてエラーメッセージだけ出すヤツ多すぎ。
2017/11/05(日) 09:14:14.87ID:dh3CGsv/0
言語仕様としてref値型が必要なのはわかるけど
じゃあ使うかというと使わないかな
もう何年も書いた記憶がない
2017/11/05(日) 09:29:17.02ID:yKSdtk7l0
ゲームで自分で当たり判定を書いたとき
GC を避けるため使ったことがあるな
2017/11/05(日) 09:52:03.41ID:TvjmwwI20
>>894
hoge.TryParseも使った事がないと?
2017/11/05(日) 10:20:04.86ID:3uuR82Hq0
.TryParse( ) は ref じゃなくて out
2017/11/05(日) 10:20:40.26ID:vfJyTH9D0
アプリ作るたびに
ViewModelBaseのSetProperty<T>(ref T field, T newValue
を作って毎回使ってるな。
で、今ちょうどJavaでMVVMやってて、refないのでSetPropertyがかけなくてつらい・・
if (this.value != value) {
 this.value = value;
notifyほにゃ
}
refないのでプロパティ毎に3行書いてるんだけど死にたい。
2017/11/05(日) 10:40:15.20ID:iAaHdauhM
SetProperty(value, v => field = value)
でいいだろ
設定先が単純なフィールドでない場合にも対応できるしJavaでも同じ
2017/11/05(日) 10:56:36.45ID:vfJyTH9D0
んん??
どういうことそれ。引数2つ??
3つ使って
SetProperty<T>(T field, T newValue, Action<T> setterActon)
こんな感じならいけそだけど。
SetPropert(field1, 10, t => field1 = 10)
後は最後にproperyNameを渡す引数追加して。
2017/11/05(日) 11:01:15.31ID:vfJyTH9D0
SetPropert(field1, 10, t => field1 = 10)

SetProperty(field1, 10, t => field1 = t)だった
bool SetProperty<T>(T field, T newValue, Action<T> setterActon, string propertyName) {
 if (!object.equals(field, newValue)) return false;
 setterAction(newValue);
 onPropertyChanged(propertyName);
return true;
}
コンパイルしてねぇけどこんな感じかな。
2017/11/05(日) 11:11:46.25ID:27Wvnc5t0
>>888
前とは別の人だし、githubで適当に検索してみただけだから特に時間もかけてないんだけどね
roslynとかで"ref 適当な型名"で検索しても、何件か引っかかるし一応新しいコードでも(美しいかはおいといて)使ってるんじゃないかな
軽くしか見てないけどnullなら初期化ってしてるコードが多いけど、ArrayBuilerはある程度有効活用になってそうな雰囲気

ref値型いらないって言ってるのはホントの初心者でしょ
そちらは明らかに使いみちだらけ
2017/11/05(日) 11:22:13.81ID:+CtSMn6Br
×初心者
○過去を捨てられないベテランさん
2017/11/05(日) 11:28:47.04ID:idfQljxTM
例外が必ず適切にはかれるわけではないからこうしろって言われても困る
2017/11/05(日) 11:31:31.42ID:3uuR82Hq0
>>902
いいわけは要らんよ
君がref参照型が有効だと思うコードを晒せばいいだけ
2017/11/05(日) 11:31:51.41ID:FejOKWJjM
>>904
どう言う意味?
2017/11/05(日) 12:03:01.14ID:8CRgy4j+a
まだ変なのが暴れてるけど、参照型であれ値型であれrefなんか必要ない、
であれば主張に一貫性があり一理ある。

筋が通らないのは。refは値型でしか意味がないという主張。
昨日説明した通り値型参照型の違いはrefの有用性と関係ない。

>>906
>>904がそうい言いたいのかどうか分からないけど、例外の処理方法や
どの程度「真面目に」処理するかだって所詮要件次第なのに、例外の話になると
妙に教条主義的になる変な人がいるのは確かだ
2017/11/05(日) 12:46:34.43ID:FejOKWJjM
>>907
例外が適切に吐かれないって事が有るのか知りたい。
2017/11/05(日) 12:51:25.95ID:uz/X8WP/M
>>907
> まだ変なのが暴れてるけど
自己紹介ですか?
2017/11/05(日) 13:12:09.84ID:yAuwzX3k0
ref はCの&にあたるものだが、&iは普通に使うけど&pなんて見たこと無いってことだ
2017/11/05(日) 13:34:59.13ID:sDEQ50LK0
>>894
パフォーマンスを求められる処理には縁がない人なんですね
2017/11/05(日) 13:46:53.29ID:eJ/HGJ4TM
素人なのでref/outの使い道がよくわからないのですが、public変数にするとかじゃだめなんですか?
2017/11/05(日) 13:50:53.40ID:xly4dgsP0
>>912
メソッド実行するたびにインスタンス作成すればおk
2017/11/05(日) 13:54:44.96ID:jvnuL8BP0
>>912
コトリン使えばおk
2017/11/05(日) 14:06:26.50ID:bQLtuEEMM
>>912
全部Public変数にしたら引数も戻り値も不要だね。
君は天才かも。
2017/11/05(日) 14:08:16.80ID:+CtSMn6Br
>>912
素人なら自作関数には両方使わない
唯一あるとすれば
パフォーマンスをシビアにする必要がある
かつフィールドをたくさん持った値型
の場合だがそんな状況はアプリにもよるがそうそう無い
917デフォルトの名無しさん (ワッチョイ 6e8a-cDlW)
垢版 |
2017/11/05(日) 14:15:44.96ID:tjXjX3Hx0
>>893
と赤間さんが言ってたね
2017/11/05(日) 15:53:29.60ID:3uuR82Hq0
>>912
釣り針でかすぎ
919デフォルトの名無しさん (ワッチョイ 2ee8-zAbU)
垢版 |
2017/11/05(日) 18:22:15.77ID:/t3HbS0w0
藤原竜也に戻せよ
920デフォルトの名無しさん (ワッチョイ 2ee8-zAbU)
垢版 |
2017/11/05(日) 18:23:05.50ID:/t3HbS0w0
誤爆
2017/11/05(日) 20:56:07.78ID:TvjmwwI20
>>917
赤間って誰?
MSDNのコラムにc#の例外処理について解説していた良い記事があったんだが見つからんわ。

C と C++のが見つかったw
https://msdn.microsoft.com/ja-jp/library/cc440190(v=vs.71).aspx
2017/11/05(日) 21:00:58.55ID:UgX7F9HB0
https://blogs.msdn.microsoft.com/nakama/2008/12/29/net-part-1/
これかな?
2017/11/05(日) 21:09:00.23ID:TvjmwwI20
>>922
赤間さん?
2017/11/05(日) 21:12:55.00ID:TvjmwwI20
「よほどのことがない限り、アプリケーションで try-catch を書いてはいけません。」
これよ、これ。例外処理の本質。
2017/11/05(日) 21:42:49.26ID:xly4dgsP0
>>924
そうはいってもファイルが読めないだけで例外だすじゃん
2017/11/05(日) 21:52:08.84ID:RoulHjpBa
>>922
ああこの記事ね。
個人的にはあんまりロジカルじゃないと思うんだよねこの記事。
読んでいて感じるいくつかの「なぜ」に対する答えがない

(1) エラーを業務エラーとそれ以外に大別するのはいいとして、なぜ前者に例外機構を
使ってはいけないのか?

(2) なぜ集約例外ハンドラーみたいなスパテッティーを推すのか。
そもそもそういうスパゲッティーを避けるための仕組みが例外機構ではなかったのか?

(3) いくら何でも
「よほどのことがない限り、アプリケーションで try-catch を書いてはいけません」
これは言い過ぎではないのか。
2017/11/05(日) 21:59:38.87ID:sDEQ50LK0
>>926
(3)は吹いたわwww
2017/11/05(日) 22:12:12.00ID:5Sua66ij0
リトライとかの回復処理は全部ライブラリー内で完結してることが前提なんだろうな。
言いたいことは分からないでもないけど、想定しているアプリがすごく狭い気がする。
2017/11/05(日) 22:39:40.25ID:GDhCJlyO0
アプリケーションってよりビジネスロジックって言いたかったのかね
2017/11/05(日) 22:49:10.60ID:fgQ02ied0
>>926
(1)や(3)はコメントで回答されてるんじゃないの?

集約例外ハンドラーは業務エラーを戻り値で表現しようと
例外で表現しようと必要じゃない?
2017/11/05(日) 22:51:14.59ID:sDEQ50LK0
>>930
必要だってのと推奨するのとは違うだろ
2017/11/05(日) 22:52:06.64ID:6FoY61ET0
てか集約例外ハンドラーがスパゲッティってどういうこと?
エラーメッセージやログ処理して終了するだけのごく短いコードだと思うけど違うの?
2017/11/06(月) 00:52:33.36ID:voxzxgu2r
>>925
ヘルスバーグも筆の誤り
2017/11/06(月) 06:29:36.68ID:6qywALcU0
>>928
例外に落ちた時点で回復可能なエラーって限られてるぞ。
ファイルがロックされて書き込めないとか。
殆どは回復不能だし、デッドロックにしてもリトライするより適切にロックしているかやロジックを見直す必要があるだろうし。
ま、例外の原因で一番多いのは自分の仕込んだバグだw
2017/11/06(月) 08:53:17.37ID:2nM3KO37M
>>932
集約例外に回復コードを仕込もうと思ってるんだろ。
2017/11/06(月) 12:00:15.83ID:I56lauc90
くそベンダーにありがちwww
2017/11/06(月) 12:23:10.12ID:2nM3KO37M
糞ベンダーは、全てのメソッドにtry-catchを入れるコーディング規約。
938デフォルトの名無しさん (ワッチョイ 46e7-SXc1)
垢版 |
2017/11/06(月) 16:16:18.79ID:sVTioIv70
ネットで更新してるアプリってテキストファイルの文字読み込んでプログラミングしてるんだなその方が変更しやすいのか?
2017/11/06(月) 17:30:29.32ID:2nM3KO37M
>>938
エスパー登場を待とう
2017/11/06(月) 17:33:56.53ID:RoDWv0Jka
>>938
勘違いです
2017/11/06(月) 17:36:08.18ID:Z+IOadg3M
ランチャー的なフォームから小画面を起動するフォームアプリを作ったのですが、小画面大量に出すと重くなります。小画面毎に別スレッドで起動する方法を教えてください
2017/11/06(月) 17:37:41.80ID:RoDWv0Jka
設計が間違ってます
小画面を大量に出さないようにしましょう
2017/11/06(月) 17:43:20.86ID:Vd7vqFxu0
小画面の意味がわからないし、大量とはどのくらいなのかもわからない
944デフォルトの名無しさん (ワッチョイ 46e7-SXc1)
垢版 |
2017/11/06(月) 17:48:57.32ID:sVTioIv70
なんだ勘違いかテキストで読み込んでるのは理由あんまりないんだ
2017/11/06(月) 17:51:17.55ID:Z+IOadg3M
>>942
そこをなんとか
>>943
10枚程度です。
2017/11/06(月) 17:53:30.02ID:RoDWv0Jka
ツールでボットやwebチェッカー使ってるんじゃないかな
ボット一個にwindow1個とか

そういうのはwindow一個で多数のものを扱うべき
リソースの無駄
2017/11/06(月) 17:55:01.56ID:PxQVFHXG0
どうせ並列で動いてるならPCもう一個買えよ
2017/11/06(月) 17:56:54.41ID:JuX+gvIy0
>>945
フォームを別に表示したら元のフォームには影響しないし
10や20くらいの別フォーム起動したくらいで重くなったことはない
小画面で何をやっているかわからないしスレッド分けて〜では多分解決しない
>>944
スレ違いだと思うけどアンチウィルスのパターンデータ更新みたいなのと勘違いしているだろ
VisualStudioだってバイナリアップデートなんだから
949デフォルトの名無しさん (ワッチョイ 417f-dVlt)
垢版 |
2017/11/06(月) 18:06:53.58ID:piexXh++0
関数にListを渡す時に関数内で要素を書き換えできないようにするにはどうすればいいですか
950デフォルトの名無しさん (ガックシ 0626-a3yt)
垢版 |
2017/11/06(月) 18:08:01.18ID:QmwWSIUM6
無理です
2017/11/06(月) 18:08:42.99ID:JuX+gvIy0
>>949
C#7.2を待つかそのlistをコピーして渡すか書き換えないように気を付けるかしてください
2017/11/06(月) 18:27:27.21ID:rATvQkns0
IReadOnlyListとして渡せばええやん
953デフォルトの名無しさん (ガックシ 0626-a3yt)
垢版 |
2017/11/06(月) 18:33:50.08ID:QmwWSIUM6
>>952
なにそれ
オブジェクトのリストを作ったとしてそのリストの要素のプロパティを書き換えるのも出来ない?
2017/11/06(月) 18:35:54.11ID:3XyzIl3H0
>>951
readonly ref って構造体限定じゃね?
2017/11/06(月) 18:37:32.84ID:RoDWv0Jka
>>952
こんなものがあったのか
便利そう
2017/11/06(月) 19:01:30.72ID:7bDcgZ2tM
>>801
無いことがバレてプログラマの月収は一律18万円になった
2017/11/06(月) 19:16:12.58ID:GQ87vZ7n0
>>949
AsReadOnlyメソッドで足りるならそちらで

>>905
言い訳とは
普通にroslynのソースとダブルポインタを要求するPInvokeじゃ不満足?複雑なやり取りを低コストでやれてると思うが
2017/11/06(月) 19:34:57.48ID:6qywALcU0
>>941
スキルの無いヤツほどスレッドを使いたがる。
スレッドが何か分かっているヤツはスレッドでしか実現できない場合のみ仕方なくスレッドを使う。
2017/11/06(月) 19:43:20.15ID:6qywALcU0
>>938
質問の内容がワケワカラン過ぎるぞ。
2017/11/06(月) 20:15:45.06ID:TIxTD8nqM
>>957
> 普通にroslynのソースとダブルポインタを要求するPInvokeじゃ不満足?複雑なやり取りを低コストでやれてると思うが
だからそう言う言い訳はどうでもいいからコードを晒せよ
2017/11/06(月) 20:27:25.28ID:XSO2MFzP0
>>953
流石にそれを禁止するのは無理
IListにあるAddとかRemoveとかインデクサのsetterとかがないというだけなので
2017/11/06(月) 21:47:01.14ID:Uzk0iC6KM
>>958
では軽くする方法を教えて下さい。
子フォームでは重要なことは非同期で行っています
2017/11/06(月) 21:54:22.54ID:PxQVFHXG0
何やってるか知らんけど
10枚も出したらそれで限界な可能性は?
非アクティブなときも重いってあるかなぁ?
2017/11/06(月) 21:55:47.11ID:4oP8v+rY0
>>962
では重い原因を教えて下さい。
ただフォーム出して重くなったでは何も分かりません。
2017/11/06(月) 22:04:31.11ID:TDT9B1paa
>>962
まず重い原因を突き止めましょう。

純粋にFormのロード(表示)だけに時間がかかってるなら
個人的は軽量化は諦めた方がいいと思う

Loadか何かのタイミングで実行してる初期化が重いなら
そこを軽量化するなりタイミングを工夫するなり

個人的想像だと前者の可能性は低い気がする
というか、Vista時代のPCでも余程大量のコントロール乗せてたり
レイアウトパネル系を多用でもしてないとそこまで極端に重くはならんと思う
966デフォルトの名無しさん (ワッチョイ 0676-9Rqp)
垢版 |
2017/11/06(月) 22:06:21.11ID:qEpy6DDg0
Listを抽象化したいのですが、どのように書けば良いでしょうか?
以下のように書けるかと思ったのですがダメでした
よろしくお願いします

interface ITest
{

}

public class Test: ITest
{
public string hogege { get; set; }
}

class Hoge
{
List<ITest> test = new List<Test>();
}
2017/11/06(月) 22:06:24.98ID:/hMSyilp0
>>962
単純にそのアプリ、親アプリと子アプリに別けて、親アプリから小アプリを10個起動したら駄目なの?
重い処理があって辛いぐらいの機能があるなら、1つの子画面で親ごと巻き込まれて死んでほしくないし、俺ならプロセスから別ける。

あと、非同期でやってる、の非同期がasyncなら、それは普通にタスクを切り替えるスキの間隔が広いかとか、諸々普通に重いだけじゃないの?
await Task.Delay(1)とか呼んでみたら?
968デフォルトの名無しさん (ワッチョイ ad8a-cDlW)
垢版 |
2017/11/06(月) 22:11:16.29ID:AYpingtn0
>>966
右辺と左辺の型が違うじゃん
2017/11/06(月) 22:40:14.56ID:Uzk0iC6KM
>>967
その、プロセスの分け方教えて下さい!
2017/11/06(月) 22:48:51.69ID:voxwNiAb0
>>969
今更どうしようもないが、次作るときはウインドウの数減らしたほうが良いよ
できればメイン一つで画面遷移やタブで処理+ダイアログも同時に開くのは一つだけとかね
2017/11/06(月) 22:49:36.85ID:9FNc82fk0
死ね
2017/11/06(月) 23:36:54.55ID:VYb2y8+kM
>>966
List抽象化はIList<Test> test= じゃないのかよw
2017/11/06(月) 23:50:31.09ID:/hMSyilp0
>>969
プロセスの分け方も何も、今フォーム起こすのに使ってるメソッドの引数を文字列にして、Process.Startで起動引数にして起動するだけのイメージだったけど。
974デフォルトの名無しさん (ワッチョイ 2ee8-zAbU)
垢版 |
2017/11/07(火) 01:00:13.01ID:cTk2bFo+0
Parallelって非同期でしか使えない?
2017/11/07(火) 01:08:19.93ID:V+BPLIz50
うんにゃ
2017/11/07(火) 01:33:47.43ID:TUoQCgcU0
>>975
同期できるのか
使おうかな
2017/11/07(火) 02:12:31.67ID:V+BPLIz50
>>976
どういう用途を想定してるん?
2017/11/07(火) 09:07:17.90ID:lDMoKAlXM
そもそもParallelは同期処理に使うもんだぞ
Fork-Joinっていう、同期処理を並列で実行するパターン
2017/11/07(火) 12:22:40.45ID:BMsgFSV6r
一晩エスパーしたけどListの抽象化の意味解読できず

ITest[] tests = new Test[n];
IEnumrable<ITest> = new List<Test>();
なら可能だが
980デフォルトの名無しさん (スププ Sd62-cDlW)
垢版 |
2017/11/07(火) 15:05:18.45ID:+aQKsyS3d
リスト抽象化という分かってるようで何も理解できてないお題
981デフォルトの名無しさん (ガックシ 0626-e3AS)
垢版 |
2017/11/07(火) 15:17:32.57ID:odkSTBx66
>>980
新スレ頼んだ
2017/11/07(火) 15:31:40.49ID:QoqDyUp+0
>>979
変数名忘れてる!
983デフォルトの名無しさん (ワッチョイ 46e7-M99L)
垢版 |
2017/11/07(火) 16:33:19.67ID:pVSOD8mN0
抽象化して継承するのと基本クラスにして継承するのと使い道がわからんよな
2017/11/07(火) 16:46:40.87ID:j6tNoJ1F0
スレタイのC#表記は一つだけでいい
形骸化してる
2017/11/07(火) 20:08:16.46ID:LeQqgpmT0
そういえばずっと疑問なんだが
そもそもC#て「シーシャープ」で合ってる? #はNo.だと習ったような...
それともスレタイどおり普通に「シーフラット」なのか?
2017/11/07(火) 20:11:35.30ID:QoqDyUp+0
>>985
作った人によると(C++)++で、+を4つ並べて#にしたという
で、読み方はシーシャープだと
2017/11/07(火) 20:14:22.37ID:4uzCwn7XM
>>985
正式にはシャープだけど、半角表記にするために井桁でもいいことになってる
2017/11/07(火) 20:17:34.23ID:LeQqgpmT0
ほほう!!ありがとう!
2017/11/07(火) 20:25:03.73ID:LeQqgpmT0
さすがに♭でなくて安心した
2017/11/07(火) 20:48:12.22ID:wMlMdyQ30
>>987
ちょっと違う
半角で表せるようにC#と書いてC Sharpと読むと仕様書に明記されてる
C♯とかは間違い
2017/11/07(火) 20:49:14.24ID:bwe89n7Ka
>>986
その話は後付けだったと思うけどw

つまりC#(C sharp)っていう名前が決まったのが先で、よく見るとこれって+が四つでインクリメント演算子が2つの
ようにも見えるよねって話だったはず
2017/11/07(火) 20:50:12.84ID:4uzCwn7XM
>>990
いや公式な仕様書だと♯表記だよ
2017/11/07(火) 20:50:44.75ID:bwe89n7Ka
>>990
そもそも#と♯が本来別文字かどうか怪しいw
印刷屋さんの都合じゃないのかと
2017/11/07(火) 20:55:28.06ID:t6NaVxzvH
ナンバーサインと音楽記号シャープは
まったく別物でしょ
2017/11/07(火) 21:00:34.38ID:LeQqgpmT0
次スレ建ててみる
1行目
!extend:checked:vvvvv:1000:512
でいい?なお、スレタイ変えない
2017/11/07(火) 21:12:11.14ID:LeQqgpmT0
ふらっと C#,C♯,C#(初心者用) Part133
http://mevius.5ch.net/test/read.cgi/tech/1510056685/
2017/11/07(火) 21:42:13.43ID:kORl+ylV0
おつ
2017/11/07(火) 22:58:38.88ID:JobEFelh0
荒れてばかりなのにきちんと次スレの立つこのスレ >>996
2017/11/08(水) 00:26:45.39ID:lzmkdMJA0
スレ立ておつ
2017/11/08(水) 00:36:05.51ID:CLyn8lVQ0
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 29日 5時間 35分 9秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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