トップページ⇒tech
1002コメント389KB

ふらっと C#,C♯,C#(初心者用) Part124 [無断転載禁止]©5ch.io

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 393a-3Vwo)2016/08/12(金) 21:28:07.93ID:V2s4z4io0
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

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

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

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

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part123
http://echo.2ch.net/test/read.cgi/tech/1469934170/

■関連スレ
C#, C♯, C#相談室 Part91
http://echo.2ch.net/test/read.cgi/tech/1467142749/

■コードを貼る場合は↓を使いましょう。
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
0446デフォルトの名無しさん (アウアウ Sa09-nnaQ)2016/09/08(木) 00:10:49.36ID:ll3GZTXWa
>>445
なんか突っ込むところズレてると思うw

コード書いた人がそう保証してない限り、列挙子がインデクサと同じ順番でデータを吐き出すことを
期待してはいけないのは>>442の言う通りだよw
0447デフォルトの名無しさん (ブーイモ MMb1-Te6E)2016/09/08(木) 00:24:26.03ID:4zgfpHKTM
順序のあるコレクション列挙した順番は不定
列挙子が返す順序とforeachで列挙する順序は同じ
yieldで返した順序と列挙子が返す順序は同じ
0448デフォルトの名無しさん (ワッチョイ 34cb-j70e)2016/09/08(木) 00:31:31.37ID:YkLgKLZQ0
仮にそれが確定した仕様だったとしても自分も勘違いしちゃうような
マイナー仕様を他人にも見せるコードで書くのは好かんな
0449デフォルトの名無しさん (ワッチョイ e6b6-Te6E)2016/09/08(木) 00:32:09.36ID:Tb74UpNz0
よかった、さすがにyieldで順番に返してるつもりのデータが狂った準備で処理されることはないんだね
これからも安心してyieldを多用できるよthx
0450デフォルトの名無しさん (ワッチョイ 34cb-j70e)2016/09/08(木) 00:36:07.17ID:YkLgKLZQ0
foreachでしかアクセスできないようなクラス使わされて
要素を削除するときにどうしてもケツから消さないとインデックスがおかしくなるのに
foreachでしかアクセスできなくて俺はキレた
0451デフォルトの名無しさん (ワッチョイ 34cb-j70e)2016/09/08(木) 00:38:11.71ID:YkLgKLZQ0
>>449
えーでもさ
お前その動作が分かり難いって身を持って体験したのに
他人にはそういうコード見せちゃうんだ?
0452デフォルトの名無しさん (ブーイモ MMb1-Te6E)2016/09/08(木) 00:45:18.97ID:4zgfpHKTM
ちなみにFCLの順序有りコレクションは列挙順も同じになると保証されている
0453デフォルトの名無しさん (ワッチョイ e6b6-Te6E)2016/09/08(木) 00:54:44.18ID:Tb74UpNz0
みせないよ
全部dllにするしprivateメソッド内でしか使わないから
0454デフォルトの名無しさん (アウアウ Sa09-nnaQ)2016/09/08(木) 00:56:43.05ID:ll3GZTXWa
>>450
余程パフォーマンスの要求が厳しいとかじゃなきゃ、列挙してるコレクションからアイテム削除するって
あんまり良い作法とは思えんなあそもそも。

列挙と操作は分ければいいのに。

列挙字に削除するアイテムをLilstに入れるとか、逆に残す方にするとか、
やり方いろいろあるよねえ。
0455デフォルトの名無しさん (スプッッ Sd28-j70e)2016/09/08(木) 07:40:16.14ID:b73KNLmzd
>>442
これ本当なのか?
0456デフォルトの名無しさん (ワッチョイ 9823-tq+X)2016/09/08(木) 09:05:54.31ID:lIlJcuEY0
シーケンスを自分で組めば作ったように動くが、MSのライブラリなどは保証していないってことでしょ
0457デフォルトの名無しさん (ワッチョイ 11dc-j70e)2016/09/08(木) 09:16:49.80ID:mLK2BL1B0
いや基本的に「コレクションの要素順」に返ることは保証されてるよ
Dictionaryみたいに「挿入順」を保持しないものは存在するけど、コレクションの要素順に返ることには違いない
https://msdn.microsoft.com/ja-jp/library/s793z9y2(v=vs.110).aspx
0458デフォルトの名無しさん (ワッチョイ f053-Te6E)2016/09/08(木) 12:37:21.85ID:BaIwaWl+0
となると順序のあるコレクションではその順に処理されると考えていいな。
列挙子がコレクションの順序と違う順に返したらそれもう順序のあるコレクションじゃないわけだし。
0459デフォルトの名無しさん (アウアウ Sa09-nnaQ)2016/09/08(木) 12:52:34.95ID:jmQRCRWra
>>458
スタックなんかインデクサはLIFO、列挙した場合はFIFOでもおかしくないし
そういう実装されても文句は言えないと思うけどw
0460デフォルトの名無しさん (ワッチョイ f053-Te6E)2016/09/08(木) 13:51:27.50ID:BaIwaWl+0
その場合インデクサの大小が逆になっていると考えれば良いのでは。
0461デフォルトの名無しさん (ワッチョイ 1c7b-tq+X)2016/09/08(木) 15:24:52.02ID:r2DjRlBp0
C#って、Perlで言う所のこんなことできる?

#まずハッシュとか配列に処理を入れる。(これはハッシュ)。
$hash{name1} = sub {処理}; #関数を宣言と同時に変数に代入
$hash{name2} = sub {処理};

$string = <>; #どっか外部から文字列を入手する
$hash{$string}->(); #実行 (エラー処理は今は書いてない)。
0462デフォルトの名無しさん (ワッチョイ 11dc-j70e)2016/09/08(木) 15:26:54.32ID:mLK2BL1B0
>>461
Dictionary<string, Action>にラムダ式を入れる
0463デフォルトの名無しさん (ワッチョイ 1c7b-tq+X)2016/09/08(木) 16:24:01.08ID:r2DjRlBp0
>>462
ありがとう。
検索したけどずっと動かないと思ったら.NetFrameWorkのバージョンのせいだった
0464デフォルトの名無しさん (ワッチョイ 98d4-T8i7)2016/09/08(木) 16:54:52.72ID:2NLKCBtb0
ちょっとやそっと.NetFrameworkが古いぐらいじゃ動くと思うけどな・・・・
0465デフォルトの名無しさん (スプッッ Sd28-j70e)2016/09/08(木) 18:02:45.61ID:xMRsbH3+d
初歩の初歩の質問だと思うのだけど教えてくだされ
.net frameworkってdll形式なの?
開発環境と実行環境異なってたら使えなかった
exeファイル入ったプロジェクトそのまま持っていけば動くと思ったけど甘かったんでしょうか
0466デフォルトの名無しさん (スプッッ Sd78-j70e)2016/09/08(木) 18:06:19.95ID:tu6IqL7jd
1.0でも使ってんじゃね
0467デフォルトの名無しさん (スプッッ Sd78-j70e)2016/09/08(木) 18:08:40.15ID:tu6IqL7jd
>>465
ランタイムもインストールしないと
0468デフォルトの名無しさん (ワッチョイ 81d6-XNJE)2016/09/08(木) 18:42:01.82ID:rYr1hc3Z0
windows updateを忘れずにしていれば最新版が勝手に入ると思うんだけど
いまどき.net frameworkが入っていないパソコンってあるのか?
0469デフォルトの名無しさん (ワッチョイ 93c0-tq+X)2016/09/08(木) 19:14:04.67ID:hJk2TQC90
最近のOSで3.5以前のEXEを動かそうとして失敗するケースはよく見かける
0470デフォルトの名無しさん (スプッッ Sd28-j70e)2016/09/08(木) 19:19:20.69ID:xMRsbH3+d
書き方がまずかったすみません
開発環境には2015入ってて実行環境には何も入ってない
ただプロジェクトフォルダそのまま持っていけば全部梱包されてるからできるだろーって
やってみたらできなかった…って感じです
本当に初歩の初歩ですまないが教えて下さい
0471デフォルトの名無しさん (ワッチョイ 3d38-ZwPk)2016/09/08(木) 19:22:09.82ID:X4kUfY+40
>>470
>>467
0472デフォルトの名無しさん (スプッッ Sd28-j70e)2016/09/08(木) 19:35:45.77ID:xMRsbH3+d
>>471
ランタイムぐぐってくる
ありがとう
教えてくれた人ともう一度教えてくれた人
0473デフォルトの名無しさん (ワッチョイ e53c-j70e)2016/09/08(木) 19:37:21.52ID:d9ZZl7aD0
>>468
4.6Xって可能性もあるだろ
0474デフォルトの名無しさん (ワッチョイ 9030-ZwPk)2016/09/08(木) 19:46:50.92ID:GLpY6Jp90
>>472
https://msdn.microsoft.com/ja-jp/library/5a4x27ek(v=vs.110).aspx
0475デフォルトの名無しさん (ワッチョイ 93e2-GoLj)2016/09/08(木) 19:49:07.02ID:qh7bbUgC0
await Task.Run(() => { cal(); });
(略)
private int cal(){
return 100;
}

上のタスクはどう記述すれば戻り値を受け取れますか?
voidをintにできないとエラーがでます
0476デフォルトの名無しさん (ワキゲー MM4e-Td3s)2016/09/08(木) 20:04:29.51ID:wSgtkTSYM
Task<int>
0477デフォルトの名無しさん (ワキゲー MM4e-Td3s)2016/09/08(木) 20:06:49.75ID:wSgtkTSYM
あとブロックにするなら明示的にreturn
{return cal();}
0478綴りw (ドコグロ MMde-j70e)2016/09/08(木) 20:09:46.27ID:ZGDN5kDfM
>>470
とりあえず開発環境と実行環境のOS書けよ
0479デフォルトの名無しさん (スプッッ Sd28-j70e)2016/09/08(木) 20:36:39.68ID:5+Utboodd
>>478
開発環境 win10
実行環境 xp
長い間アプデできてない当たり前だけど
0480デフォルトの名無しさん (ドコグロ MMde-j70e)2016/09/08(木) 20:56:01.20ID:ZGDN5kDfM
>>479
> 実行環境 xp
> 長い間アプデできてない当たり前だけど

>>468 の懸念が現実のものになるとは...
> いまどき.net frameworkが入っていないパソコンってあるのか?
0481デフォルトの名無しさん (ワッチョイ 9030-ZwPk)2016/09/08(木) 21:00:01.99ID:GLpY6Jp90
XPだと.NET Framework 4だから、
プロジェクトの対象のフレームワークを.NET Framework 4にしないと生け贄を捧げても動かない
VS2015だとデフォは.NET Framework 4.5.2のはず

まとめると
プロジェクトは対象フレームワークを.NET Framework 4に変更してビルドし直す
XPには.NET Framework 4をインストールする
0482デフォルトの名無しさん (スプッッ Sd28-j70e)2016/09/08(木) 21:03:27.90ID:5+Utboodd
>>480
>>481
そう言うことか
ってかネットフレームワークって標準なんだな
ビジュアルスタジオについてくるもんだと思ってたよ
0483デフォルトの名無しさん (ワッチョイ 3e90-tq+X)2016/09/08(木) 21:15:22.43ID:UTR6V9h30
Google Analytics の調子が悪い
0484デフォルトの名無しさん (ワッチョイ bc42-tq+X)2016/09/08(木) 22:19:22.26ID:A7Pb5oFv0
おまいの個人データぶっこ抜くのに忙しいんだよ
0485デフォルトの名無しさん (スプッッ Sd28-j70e)2016/09/09(金) 07:42:45.67ID:Im9/6uOtd
C#でdll・ヘッダファイルに定義されてる関数を
テキストファイルやxmlファイルから読み込んで動的に呼び出す手法は以下以外にあるかな
別スレでこんな意見を頂いた
他にも手法あるならそれと比べて設計考えてみたいんだ

69 以下、無断転載禁止でVIPがお送りします 2016/09/08(木) 21:10:41.799 ID:BdEIRhbW0
>>65
相手のコードがc#でビルドされてるのが前提で
事前にAssembly.LoadFromでdll取得して
後はテキストから関数名と引数引っ張って事前に読み込んだassemblyからGetTypeで型とってGetMethodでメソッドとって引数は配列に詰めてInvokeする
0486デフォルトの名無しさん (ワッチョイ 9030-ZwPk)2016/09/09(金) 10:58:24.81ID:7hmX2uTk0
>>485
呼び出される側(dll側)は何で開発されているかはっきりさせてくれ
別スレの人も

>相手のコードがc#でビルドされてるのが前提

と断ってるが

>dll・ヘッダファイルに定義されてる関数を

という部分を考えると、相手のコードはC#で開発されているように見えない
0487デフォルトの名無しさん (ワッチョイ 1c7b-tq+X)2016/09/09(金) 12:46:53.61ID:dr6bYi/v0
C#始めたばかりなんですが、
当たり前のようにフィールドって言葉を使われ始めました。
ちょっと解説してください。
0488デフォルトの名無しさん (ワッチョイ 4919-u8AM)2016/09/09(金) 12:50:28.56ID:wNOotapd0
class {
int a; // <= フィールド
int B { get { return a; } set { a = value; } } // <= プロパティ
int C() { return a; } // <= メソッド
}
0489デフォルトの名無しさん (ワッチョイ 1c7b-tq+X)2016/09/09(金) 12:56:02.44ID:dr6bYi/v0
>>488
クロージャってこと?
違うか?
0490デフォルトの名無しさん (ワッチョイ 98d4-T8i7)2016/09/09(金) 12:59:18.99ID:/qYjDQsk0
フィールドってクラスに属してる変数のことだよ
0491デフォルトの名無しさん (ワッチョイ 1c7b-tq+X)2016/09/09(金) 13:01:49.33ID:dr6bYi/v0
ふむふむ
その変数は、インスタンスごとに個別に発生する値で、なおかつクラス内で共有ってことですか?
0492デフォルトの名無しさん (ワッチョイ 1c7b-tq+X)2016/09/09(金) 13:05:04.75ID:dr6bYi/v0
質問連打ですみませんが、メンバもよく分かりません。
メソッドのことですか?
0493デフォルトの名無しさん (ワッチョイ 1c7b-tq+X)2016/09/09(金) 13:26:54.06ID:dr6bYi/v0
分かってきました。
C#は、コンストラクタの実行時にメソッド以外にも色々インスタンスが生成されて返される。

メソッドが生成されればメソッド。
変数が生成されればフィールド。

そうゆうのを全部まとめてメンバ。
って解釈でいいでしょうか?
0494デフォルトの名無しさん (ワッチョイ 9030-ZwPk)2016/09/09(金) 13:59:16.94ID:7hmX2uTk0
>>493
https://msdn.microsoft.com/ja-jp/library/ms173113.aspx
0495デフォルトの名無しさん (ワッチョイ 6923-tq+X)2016/09/09(金) 14:00:32.59ID:2SLUNITP0
横槍ですまんが、>>487がこれまでに触ったことがある他のプログラミング言語を言えばレスつけやすくなるんじゃないか?
0496デフォルトの名無しさん (ワッチョイ 1c7b-tq+X)2016/09/09(金) 14:14:29.68ID:dr6bYi/v0
すまん、ありがとう。
けっこう分かってきた。
処理構造はこう書けって決まってるというか、用意されてる感じの言語なのね。

ちなみにCとPerlです。
0497デフォルトの名無しさん (ラクラッペ MMb1-tq+X)2016/09/09(金) 15:45:45.00ID:+pScTfufM
ChartのDataSourceにDataSetを割り当てて、SeriesのXValueMember, YValueMemberにDataColumnを割り当てたいのですが、
YValueMemberだけが0かnoneしかなく割り当てることができません。
とりあえず0とnoneに指定して動作させても、X軸だけ増える一方でY軸は表示されないままです。
どう設定すればY軸を指定できるのでしょうか?
参考サイトは以下です。
よろしくお願いします。

http://earth.air-nifty.com/blog/2011/10/cchart-7cb7.html
0498デフォルトの名無しさん (ワッチョイ 4919-u8AM)2016/09/09(金) 17:05:47.56ID:wNOotapd0
対象のDataTableに数値型の列が存在していないとか
0499デフォルトの名無しさん (アウアウ Sa35-1gdI)2016/09/09(金) 19:08:06.31ID:iXjGEKQTa
あかん。c#勉強始めてフォームアプリ作ってみたが、全然クラス作らないで出来上がってしまう。。
クラスにするイメージがつかん。
0500デフォルトの名無しさん (オッペケ Sr3d-j70e)2016/09/09(金) 21:08:50.87ID:N6MOLrmlr
そもそも動けばいいんだよ
中身なんて誰も知らんし
0501デフォルトの名無しさん (アウアウ Sa09-j70e)2016/09/09(金) 21:41:17.78ID:oMlYA35za
F#で死人が出そう
0502デフォルトの名無しさん (ワッチョイ 1c7b-tq+X)2016/09/09(金) 22:13:58.70ID:dr6bYi/v0
string.Joinがあるのにstring.Concatがあるのを教えてクレメンス
0503デフォルトの名無しさん (ワッチョイ 81d6-XNJE)2016/09/09(金) 22:34:20.31ID:skcsL2YB0
JoinとConcatの引数を確認すりゃ分かるけど用途が違う
0504デフォルトの名無しさん (スプッッ Sd78-j70e)2016/09/10(土) 00:00:05.31ID:ERC4HZmfd
>>486
両方ともC#です!
0505デフォルトの名無しさん (ワッチョイ 9541-RG0E)2016/09/10(土) 00:47:28.10ID:67HVyNly0
>>499
そもそも中規模以上の開発における
諸問題への対応策として生まれたのが
オブジェクト志向なんだから
それでいいし
最初はあんま意識しなくていいと思う
0506デフォルトの名無しさん (ワッチョイ 3e90-tq+X)2016/09/10(土) 01:15:23.70ID:Wm1HNmHU0
朝日新聞大阪本社 記者
西村 圭史 (ニシムラ ケイシ)
[email protected]

取材させてください。
0507デフォルトの名無しさん (オッペケ Sr3d-j70e)2016/09/10(土) 03:33:26.64ID:OS/pxD32r
画素編集のFormアプリ作ってるんだけど、コンパイルしてんのに処理重いのはなんで?
フォトショップとか、なんでレイヤーいくつも重ねてもサクサク動くんだよ…作ってる奴らすげえな
0508デフォルトの名無しさん (ワッチョイ c69f-wdYe)2016/09/10(土) 03:54:14.48ID:Cc+a6CZq0
並列化を駆使して色々やってるからだろ
スレッドとかSIMDとかGPUとか
0509デフォルトの名無しさん (ワッチョイ f053-Te6E)2016/09/10(土) 06:03:52.43ID:4AzSt0BN0
ちゃんと書けばそこまでしなくてもそんなに遅くない
0510デフォルトの名無しさん (ワッチョイ bc7b-DgIw)2016/09/10(土) 06:47:02.70ID:iNw4r1ei0
毎フレーム、全部の画素を、メモリにコピーするからだろ

最初にメモリにコピーしたら、そのメモリをずっと使えばいい
0511デフォルトの名無しさん (ワッチョイ f053-Te6E)2016/09/10(土) 06:59:04.57ID:4AzSt0BN0
レイヤーが10枚あって8番目のレイヤーで作業してるときは、

・1〜7番レイヤーを合成済みの画像 *1
・8番レイヤー (編集対象)
・9〜10番レイヤーを合成済みの画像 *2

の3つを合成して表示すりゃいいんだよ。
*1、*2 はアクティブなレイヤーを切り替えるときに計算しておく。

これなら何十枚あってもブラシとかは軽いだろ?
0512デフォルトの名無しさん (ワッチョイ c15b-1gdI)2016/09/10(土) 10:03:42.17ID:zhSU2N3O0
>>505
ありがと
ちょっとずつ機能を足しながらクラスの使い方勉強していくよ
0513デフォルトの名無しさん (オッペケ Sr3d-j70e)2016/09/10(土) 10:11:09.24ID:OS/pxD32r
>>510
Bitmapに入れといてるよ

>>511
編集対象を8番目から5番とかに変えたら、また全部の合成の再計算になるよね?
アクティブなレイヤーを変えたり、レイヤーを表示・非表示に切り替えただけで全部再計算が必要な気がする
0514デフォルトの名無しさん (ブーイモ MMb1-Te6E)2016/09/10(土) 10:14:34.09ID:oyefpNCyM
>>513
キャッシュを使う
0515デフォルトの名無しさん (ワッチョイ 1c7b-tq+X)2016/09/10(土) 12:10:04.49ID:7MaNMesA0
C#のnamespaceは、Classを束ねる物として機能してるんですか?

なので、
a = new namespace.class();
a.hoge();

// NameSpace.Classname.MethodName みたいな関係になるというか
0516デフォルトの名無しさん (ワッチョイ 937b-Td3s)2016/09/10(土) 12:13:09.95ID:/+pbEB3C0
クラスを束ねるものとして機能
っていうのがどういうの想定してるのか分からんからなんとも
0517デフォルトの名無しさん (ブーイモ MMb1-Te6E)2016/09/10(土) 12:17:01.14ID:8vECtVT4M
名前空間は名前を管理するもの
クラスを管理しているわけではない
0518デフォルトの名無しさん (ワッチョイ 6923-tq+X)2016/09/10(土) 12:17:20.05ID:Rv8WG5cB0
namespace については↓
https://msdn.microsoft.com/ja-jp/library/z2kcy19k.aspx

下の方にある For More Information のリンク先も読むことをお勧めする
0519デフォルトの名無しさん (ワッチョイ b5a1-Te6E)2016/09/10(土) 12:19:28.84ID:qVsRfG5m0
名前空間自体はプレフィックスを構造化した物に過ぎない様な
.NET Frameworkにおいては確かに機能群を束ねるのに使われてるけど
0520デフォルトの名無しさん (ブーイモ MMb1-Te6E)2016/09/10(土) 12:24:02.58ID:8vECtVT4M
>>519
機能を束ねてはいない
名前を束ねているだけ
0521デフォルトの名無しさん (ワッチョイ 1c7b-tq+X)2016/09/10(土) 12:30:16.44ID:7MaNMesA0
分かりました。
名前空間は型なのですね。
0522デフォルトの名無しさん (ワッチョイ 81d6-XNJE)2016/09/10(土) 12:35:43.10ID:mo9S6SVL0
何も分かっていないじゃん
0523デフォルトの名無しさん (ワッチョイ 1c7b-tq+X)2016/09/10(土) 12:39:41.86ID:7MaNMesA0
一応公式にはそのように記述されてたのですが・・・
違うと思った場合は、その旨に沿って返答いただけると質問に対する助けとなりますです。
0524デフォルトの名無しさん (アウアウ Sa35-1gdI)2016/09/10(土) 12:42:31.05ID:x75xnK8ka
javaのpackageと同じかってことを言いたいのか?
0525デフォルトの名無しさん (ブーイモ MMb1-Te6E)2016/09/10(土) 12:47:32.32ID:8vECtVT4M
>>523
引用して
0526デフォルトの名無しさん (ワッチョイ 1c7b-tq+X)2016/09/10(土) 12:51:26.59ID:7MaNMesA0
俺的には解決したからもういいよ
具体的な何かが出てきたらまた質問する
0527デフォルトの名無しさん (ワッチョイ bc42-MXHb)2016/09/10(土) 12:55:43.79ID:DPMvCIey0
>>521
違います

例えば"報告書印刷"クラスが「営業」用と「総務」用と「経理」用の3種類あるとしよう
"営業報告書印刷"クラス、"総務報告書印刷"クラス、"経理報告書印刷"と別々のクラス名でもいいが
そういうふうにクラス名にいろんな情報を付加するとどんどんクラス名が長くなってしまうだろ

そこで、名前空間を使って整理するんだよ
例えば"業務"名前空間内に"営業"名前空間と"総務"名前空間と"経理"を置いて
そこにそれぞれの"報告書印刷"クラスを置くと

これで
業務.営業.報告書印刷クラス ※業務.営業が名前空間
業務.総務.報告書印刷クラス ※業務.総務が名前空間
業務.経理.報告書印刷クラス ※業務.経理が名前空間
という風に"報告書印刷"という単純なクラス名ながら、名前空間で区別、整理できて便利

※わかりやすく説明するためにクラス名や名前空間名は日本語にした
0528デフォルトの名無しさん (ワッチョイ bc42-MXHb)2016/09/10(土) 13:00:54.61ID:DPMvCIey0
>>523
名前空間も含めたクラス名が型ってことだよ
0529デフォルトの名無しさん (ワッチョイ 1c7b-tq+X)2016/09/10(土) 13:00:55.18ID:7MaNMesA0
ありがとう。
ただそれは最初の質問となにが違うのでしょうか?

一応質問の趣旨としては、名前空間とクラスが無関係であるケースの言語も多いから聞いたのですが。
0530デフォルトの名無しさん (ワッチョイ bc42-MXHb)2016/09/10(土) 13:07:18.31ID:DPMvCIey0
>>529
あー、最初の質問は見てないわ
まー、名前空間ってそういうもんだと思っとけばいいよ

それ以上の詳しくは自分で勉強・研究してくれ
0531デフォルトの名無しさん (ガラプー KK6b-viWw)2016/09/10(土) 14:18:37.23ID:vbKJk9JlK
今始めたばかりの初心者なんだけどエラーがでる…
誰か解決してください!
main(){
print("やっほー!");
}
0532デフォルトの名無しさん (ワッチョイ 1c7b-tq+X)2016/09/10(土) 14:19:45.47ID:7MaNMesA0
なんかな、cwて書いてタブを2回押すとええねんて
0533デフォルトの名無しさん (ワッチョイ bc5e-XNJE)2016/09/10(土) 14:37:45.49ID:6Xz+/qd00
>>513
Bitmapは大きな画像になるとやたらメモリを食うし、バイト配列に変えて処理した方が速い場合もある
とりあえず画像処理やるのはC#(とGDI+)は向いていないと思う。Unityとかならともかく
合成はある程度の大きさがあって何枚もあったらC++でもそんな速くはならないからいろいろ工夫する必要があると思う
ググったらその手のことやっているところはいくつかヒットするよ
>>531
やりたいことは何か、表示されたエラーは何か書かないとな
ここにいるのは回答者も初心者が大半だからそれだけじゃわからん
もしくは↓へどうぞ
エスパーが質問に答えるスレ
http://echo.2ch.net/test/read.cgi/tech/1187922645/
0534デフォルトの名無しさん (ワッチョイ 7d4a-chQw)2016/09/10(土) 15:30:38.68ID:ViqXWo9H0
// こういう同じメンバーを持つ二つのクラスがあって
public class MyClass1
{
 public int id;
 public string name;
}
public class MyClass2
{
 public int id;
 public string name;
}

// この関数を二つのクラスから使いたいのですが、
void func(MyClass1 mc1)
{
 var id = mc1.id;
 var name = mc1.name;
}
// こんな風にすると
void Main()
{
 MyClass1 mc1 = new MyClass1();
 func(mc1);
 MyClass2 mc2 = new MyClass2();
 func(mc2); //<====== 当然ここでエラーしますよね。
}

func()の引数のあたりをどうにか改造して、MyClass1でもMyClass2でも
引数で受けられるようにできますか?
0535デフォルトの名無しさん (ワッチョイ 7d4a-chQw)2016/09/10(土) 15:36:54.17ID:ViqXWo9H0
補足です。
MyClass1とMyClass2の定義は変更しないという条件でお願いします。
0536デフォルトの名無しさん (ワッチョイ 693a-j70e)2016/09/10(土) 15:41:00.20ID:S2i4VzyR0
>>534
void func(dynamic mc1)
{
 int id = mc1.id;
 string name = mc1.name;
}
0537デフォルトの名無しさん (ブーイモ MMb1-Te6E)2016/09/10(土) 15:42:02.88ID:6z3ll4dhM
void func(dynamic dmc) { 以下略
0538デフォルトの名無しさん (ワッチョイ 7d4a-chQw)2016/09/10(土) 15:44:33.78ID:ViqXWo9H0
>>536
ありがとうございました。
助かりました。
0539デフォルトの名無しさん (ワッチョイ 7d4a-chQw)2016/09/10(土) 16:08:06.37ID:ViqXWo9H0
問題がありました。

本当は、funcの引数は

 void func(MyClass1 mc1) {...}

ではなくて、

 void func(List<MyClass1> mc1_list) {...}

という形式です。
そしてfuncの中でLinqを使っていて

var a = from e in mc1_list
    where e.id == 10
    select e.name;

みたいな処理があるのですが、

 void func(dynamic mc1_list) {...}

にしたら、
ソース型 'dynamic' に対するクエリ式または型 'dynamic' の結合シーケンスのあるクエリ式は使用できません
と言うエラーが出ました。
どうすれば良いでしょうか?
0540デフォルトの名無しさん (ブーイモ MMb1-Te6E)2016/09/10(土) 16:11:51.94ID:6z3ll4dhM
func(IEnumerable<dynamic> dmcs) { 以下略
0541デフォルトの名無しさん (ワッチョイ 7d4a-chQw)2016/09/10(土) 16:19:03.49ID:ViqXWo9H0
>>540
ありがとうございました。
うまく行きました。
2chには優秀な人が多いですね。
助かりました。
0542デフォルトの名無しさん (ラクラッペ MMb1-tq+X)2016/09/10(土) 19:38:25.00ID:jNfWtnbnM
>>498
ドロップダウンの中選ぶのではなく、直接文字を入力したらできました。
レスありがとうございました。
0543デフォルトの名無しさん (ワッチョイ f053-Te6E)2016/09/10(土) 19:47:21.98ID:4AzSt0BN0
>>513
適当な枚数のレイヤーごとにコンポジション結果をキャッシュしておくとか色々工夫のしようがある。
分割統治法ね。

あと質問しといてアドバイスに反論すんなよ…議論したいなら質問じゃなく自分なりの意見やアイデアを書けよ。気分悪いわ。
0544デフォルトの名無しさん (アウアウ Sa09-nnaQ)2016/09/10(土) 20:04:14.12ID:qbdJrNQPa
>>543
質問してる奴は反論するなってよー分からん感覚だなw
いっちゃ悪いけどそれで気分が悪くなるんならお前さんが人間的に幼すぎるんだよw
0545デフォルトの名無しさん (オッペケ Sr3d-j70e)2016/09/10(土) 20:06:07.74ID:OS/pxD32r
>>533
むちゃくちゃありがとう!
といってももうすでにC#でBitmapで作ってしまってるのでなんとか頑張ります…

>>514
キャッシュも調べてみます!
■ このスレッドは過去ログ倉庫に格納されています