X



ふらっと C#,C♯,C#(初心者用) Part132
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん 転載ダメ (ワッチョイ 1e9a-XSap)
垢版 |
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
0393デフォルトの名無しさん (ワッチョイ 9a27-WNZk)
垢版 |
2017/10/23(月) 14:52:16.08ID:Hm5Sp4K20
>>379
原則状態はプロパティ、動作がメソッド
ただし、利用者はプロパティはループ毎にキャッシュせず読んでもいいくらいに軽い処理だと考える場合があるので、時間がかかるならメソッドにしたほうがよいかも
0394デフォルトの名無しさん (ワントンキン MM8a-VeCH)
垢版 |
2017/10/23(月) 19:30:33.33ID:TFf0LeB2M
プロパティはもちろん取得系のメソッドも何度も呼んでいいよ
実測した結果、遅くなってると分かったらキャッシュを導入する
パフォーマンスだけのために説明変数を追加するのはNG
0395デフォルトの名無しさん (ワッチョイ c575-G561)
垢版 |
2017/10/23(月) 19:34:24.82ID:HemzWECS0
説明変数とは
0399デフォルトの名無しさん (ワッチョイ bab3-DBD/)
垢版 |
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
0411デフォルトの名無しさん (ブーイモ MM71-kEN8)
垢版 |
2017/10/23(月) 20:48:28.25ID:ANMjmVZtM
>>406
オブジェクト指向の原理主義的には典型的なアンチパターンだよそれ
空なら何もしないとかアイテムが入ってればプレイヤーのアイテム袋に入れるとかは宝箱のOpenメソッドの中に実装するべき
0414デフォルトの名無しさん (ワッチョイ bab3-DBD/)
垢版 |
2017/10/23(月) 20:58:45.70ID:y4/LHG7i0
>>411
うん、そこは論点じゃないから
IsItemExistな名前はHasItemに変えられるよってこと

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

それに対してLengthプロパティはo(1)でインライン展開されるだろうと高をくくってもだいたい問題ない
ネックになればそのときに測定
0419デフォルトの名無しさん (ブーイモ MMbe-U5aN)
垢版 |
2017/10/24(火) 00:09:05.80ID:7XcVEnvtM
統計の説明変数はexplanatory variable

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

翻訳者に学がなかった
0422デフォルトの名無しさん (ワッチョイ c575-G561)
垢版 |
2017/10/24(火) 00:41:38.88ID:lU4ejLPG0
もういいよその話
0424デフォルトの名無しさん (アウアウエー Sa22-WQ16)
垢版 |
2017/10/24(火) 02:34:47.38ID:2soFq68da
ついでに、思いっきり脱線で申し訳ないけど、前から疑問に思ってたけど
プログラミングの世界の分割統治はdivide and conquer、
古代ローマの植民地支配戦略の分割統治はdivide and ruleというが、
これもたぶんどっちでも通じると思うんだよね
0428デフォルトの名無しさん (ワッチョイ 951e-gcVe)
垢版 |
2017/10/24(火) 06:55:50.50ID:hsifRvdf0
IList<T>の中身をソートしたいのですがどうすればいいでしょうか?
SortメソッドはListクラスにあってIList<T>インターフェースにはありません。
LINQのOrderByは元のコレクションの中身をソートしませんよね??
IList<T>の中身を直接入れ替えたいのです。
0431デフォルトの名無しさん (ワッチョイ 4dc9-0GSP)
垢版 |
2017/10/24(火) 09:34:12.61ID:Y6LvzYD50
入力フォーム画面から入力されたデータを集めてDBなり別の出力クラスに渡すプログラムを.NET2.0の頃に作った時は、入力フォームとデータクラスの関連付けにBindingとか使ってた記憶あるんだけど、今もその辺は変わってないの?
0442デフォルトの名無しさん (ワッチョイ c575-G561)
垢版 |
2017/10/24(火) 22:39:01.84ID:lU4ejLPG0
>>440
普通にフォームのTextプロパティと同じ型にするんだろ
0448デフォルトの名無しさん (ワッチョイ d6d3-0GSP)
垢版 |
2017/10/25(水) 02:32:41.64ID:WIc18nYy0
>>447
Text プロパティは文字列なんだからバインド云々以前に一旦文字列にするのは当たり前
(どこかで 数値 <--> 文字列 の変換が必要)
って意味で言った

でも ErrorProvider 使えば数値型プロパティでいい感じにバインドできるんじゃないかと今思った
0449デフォルトの名無しさん (ブーイモ MM71-H6Xg)
垢版 |
2017/10/25(水) 06:04:30.07ID:6FPeEgMNM
list<list<string>> hoge

このようなデータ構造のものをdatagridviewに表示させたいのですが、datasorceにhogeをセットすると入れ子のlistのcount数が表示され、肝心の中身が表示されません。
解決方法おしえてください
0453デフォルトの名無しさん (ワッチョイ 5502-G561)
垢版 |
2017/10/25(水) 12:10:32.13ID:5tcC17L/0
WPFを好きになれない
0458デフォルトの名無しさん (ワッチョイ c575-G561)
垢版 |
2017/10/25(水) 18:14:21.08ID:Ho4Id2OA0
仕切り屋ウゼエ
0463デフォルトの名無しさん (ガックシ 068b-AYwW)
垢版 |
2017/10/26(木) 23:11:07.62ID:32PzTYul6
多次元配列について

二つの変数i,jを代入したときに三次元ベクトルの値が帰ってくるような多次元配列の書き方を教えてほしいです。
0465デフォルトの名無しさん (ガックシ 068b-AYwW)
垢版 |
2017/10/26(木) 23:26:46.05ID:32PzTYul6
大学の研究で使いたいですorz
どこのサイト調べたら乗ってますか、、、
0468デフォルトの名無しさん (ガックシ 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で定まるベクトル
}

この???に入る関数の正しい形がわからなくてずっとエラー吐き出してます
0471デフォルトの名無しさん (ワッチョイ d175-rVGZ)
垢版 |
2017/10/26(木) 23:37:53.64ID:Fjma9sq90
>>468
多次元配列ならarray[i, j]
ジャグ配列ならarray[i][j]
0473デフォルトの名無しさん (ワッチョイ 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] = ベクトルオブジェクト;
}
}
0474デフォルトの名無しさん (ガックシ 068b-AYwW)
垢版 |
2017/10/26(木) 23:41:54.41ID:32PzTYul6
>>471
ありがとうございます!
0475デフォルトの名無しさん (ワッチョイ 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] = ベクトルオブジェクト;
}
}
0476デフォルトの名無しさん (ガックシ 068b-AYwW)
垢版 |
2017/10/26(木) 23:43:59.46ID:32PzTYul6
ベクトルの各成分は既存のプログラムで決まっています
説明不足ですみません
0477デフォルトの名無しさん (ガックシ 068b-AYwW)
垢版 |
2017/10/26(木) 23:51:07.89ID:32PzTYul6
ダメだ、、
やっぱりエラーはでないけど描画に意図しないものがでます。
UNITYとリープモーションを使っているのですが、以下の一文が入るとおかしくなってしまいます。

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

この一文でsphere.positionの値は変わらないですよね、、
0481デフォルトの名無しさん (ワッチョイ d175-rVGZ)
垢版 |
2017/10/27(金) 00:57:10.14ID:pAogLeJi0
エラー見ろよ
0482デフォルトの名無しさん (アウアウエー Sa23-f3sA)
垢版 |
2017/10/27(金) 01:02:08.49ID:1uP28vOGa
つーかこれ日本のIT業界の縮図を見る思いだよw

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

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

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

「c# アセンブリ参照」で検索!
0486デフォルトの名無しさん (アウアウカー Saed-tzPI)
垢版 |
2017/10/27(金) 06:00:59.69ID:CkoVgn7Ba
foamアプリケーションを使ってるのですが、例えば配列に格納されたデータをプリンターで印刷したいって時はどうしたらいいのでしょうか?
0490デフォルトの名無しさん (ガックシ 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は印刷したい文字列配列)
■ このスレッドは過去ログ倉庫に格納されています

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