ふらっと C#,C♯,C#(初心者用) Part118 [転載禁止]©5ch.io
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2015/11/23(月) 00:54:33.10ID:d/p1Vajd他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part117 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1443786608/
■関連スレ
C#, C♯, C#相談室 Part89 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/tech/1443271409/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
0002デフォルトの名無しさん
2015/11/23(月) 12:09:09.65ID:blqHyLLr0003デフォルトの名無しさん
2015/11/23(月) 12:15:55.82ID:/RGpvc/8乙です
今@ITでADO.NET Entity Framework入門っていう記事読んでるけど、むずかしいぜ。
前スレでちょっと出てきたDB関連の話でまったく知らなかったから参考に読んでるだけど
これ仕事ででてきたら果たして使えるようになるのか心配だ・・・今すぐ使うわけじゃないのが救い。
0004デフォルトの名無しさん
2015/11/25(水) 03:47:30.32ID:VpIXdAyb今Windows FormでVSYNC待つだけのためにDxLibを使っています
CPUパワーを食わずに、コードもあまり書かずに簡単にVSYNCだけ待てれば
DxLibに頼らずに済むのですが
2010Expressを使っています
0005デフォルトの名無しさん
2015/11/25(水) 03:52:32.72ID:A+DiyrlMAlt+Tabを押すと使った順に並んだ小窓が出るのでどこかに記録されているのではないかと思っているのですが
探し方が悪いようで見つからないです。
0006デフォルトの名無しさん
2015/11/25(水) 22:40:12.84ID:ZWYoQ/Cr【やりたいこと】
既存のクラスのメソッドの一部の機能を拡張したい。
具体的にはクラス(インターフェイス)AをクラスBのメソッドCに引数として渡す。
メソッドCはインターフェイスAのメソッドからデータを受け取り、データがなくなるまで処理を続ける。
このクラスAとクラスBは既成の物で、オブジェクトファイルの形式で提供されていて、ソースコードレベルでの改造は出来ない。
具体的にはデータ量が多い場合に備えて、メソッドCを実行中に外部からキャンセルを受け付けるように改造したい。
【対策案1】
メソッドCに準じたメソッドDを自作する。
→メソッドC内ではクラスBの private なメンバ変数等を使用しているため、外部に機能拡張版のメソッドを用意するのは容易でない。
【対策案2】
インターフェイス(クラス)Aを包含するクラスA’を用意して、これをメソッドCに渡す。
具体的にはインターフェイスAを継承したクラスA’を用意し、コンストラクタ等でクラスAのインスタンスを渡す。
クラスA’ではインターフェイスAで定義された全てのメソッドやプロパティにクラスAのインスタンスの同じメソッドやプロパティを呼び出すように実装する。
→インターフェイスAに定義されているメソッド等が多いのでとても面倒。と言うか、後のメンテナンス性が悪すぎる気がする。
【対策案3】
クラスBに相当するクラスを自作する。
→技術的にはやってやれないことはないが、時間的には無理。
【質問】
こういうときに有効な対策を教えてください。
0007デフォルトの名無しさん
2015/11/25(水) 22:53:14.22ID:5wB+dJF60008デフォルトの名無しさん
2015/11/25(水) 23:16:59.10ID:jVhYVUAoクラスBを作った人に修正をお願いするしかないんじゃない
0009デフォルトの名無しさん
2015/11/26(木) 10:56:36.07ID:uhVdTG0g各メンバーではAに委譲する
Bがデータを要求するところだけキャンセルならデータ供給を止めるみたいな
0010デフォルトの名無しさん
2015/11/26(木) 12:39:25.48ID:wLo/SUaP面倒くさいから嫌だってw
0011デフォルトの名無しさん
2015/11/26(木) 20:04:37.19ID:cJiE/pnVその集合を返すみたいな処理ってLINQでどう書けばいいんだろ?
1〜5の数字のうち偶数は!をつけて出力みたいな
1 2! 3 4! 5
whereしてからselectすると偶数だけのリストになっちゃうし、selectの中でwhere??
0012デフォルトの名無しさん
2015/11/26(木) 20:39:44.72ID:QqGRNt0Rhttp://ideone.com/PD7B5Z
こんな風に馬鹿正直に書いたら駄目なん?
0013デフォルトの名無しさん
2015/11/26(木) 20:50:40.56ID:XPm6ny2d自分もそういう書き方しか思いつかなかったんですが、もう少しスマートに書けないかなと。
↑であげたのは簡略化した内容ですが、実際には
class Item{
bool Checked;
string KeyWord;
}
このクラスのリスト List<Item> に対して
あるキーワード文字列に一致する場合は、Checkedをtrueにして
そのリスト全体を返す。みたいなことがやりたいんだよね。
0014デフォルトの名無しさん
2015/11/26(木) 20:56:13.07ID:QqGRNt0R条件はFuncで与えるとして
Where()は条件に一致する集合しか返さない
そうではなく結果を{source, bool}みたいな感じでFuncに当てはまるか匿名型で返すような
0015デフォルトの名無しさん
2015/11/26(木) 21:03:24.02ID:sUIZ4Kkhint[] sample = new int[] { 1, 2, 3, 4, 5 };
var res = sample.Select(i => {
return i.ToString() + ((i % 2 == 0) ? "!" : "");
});
foreach (var v in res)
Console.Write(v + " ");
0016デフォルトの名無しさん
2015/11/26(木) 21:08:46.61ID:wLo/SUaP0017デフォルトの名無しさん
2015/11/26(木) 21:15:13.31ID:XPm6ny2dやっぱ拡張メソッド定義するしかないんですね。
こういうパターンって結構ありそうな気もするんですが...
0018デフォルトの名無しさん
2015/11/26(木) 21:20:59.72ID:96CZ8S8K0019デフォルトの名無しさん
2015/11/26(木) 21:23:12.42ID:zfiVTGcd.Select((item) => new Item
{
KeyWord = item.KeyWord,
IsChecked = (item.KeyWord == "a")
});
0020デフォルトの名無しさん
2015/11/26(木) 21:27:28.22ID:KfvI2hmZ0021デフォルトの名無しさん
2015/11/26(木) 21:28:06.60ID:nO6kdv8X普通にSelectでやればいいかと思うのだが
0022デフォルトの名無しさん
2015/11/26(木) 21:29:56.77ID:Vv+caMcJ気持ちがわからないんだよな。
>>11と>>13の要望まとめるとこんな感じ?
http://ideone.com/TWOSN4
最後に元の集合返すLINQがこんな感じに作れるけど
http://ideone.com/gYYg48
これでいいじゃんってなる。
0023デフォルトの名無しさん
2015/11/26(木) 21:33:39.93ID:Vv+caMcJ>>22は無しね!
でもそうだとしても>>21でいいじゃんね!
0024デフォルトの名無しさん
2015/11/26(木) 21:41:44.00ID:QqGRNt0R無理にメソッドチェーンをする必要ない気がする
0025デフォルトの名無しさん
2015/11/26(木) 22:40:51.15ID:sUIZ4Kkhstatic void Main()
{
int[] source = new int[] { 1, 2, 3, 4, 5 };
var result = source.Join(new bool[]{true, false}, o=>true, i=>true, (o, i) => new Item(o, i))
.Where(p => { var r = p.Value % 2; return r == 0 && p.Checked || r == 1 && !p.Checked; });
result.ToList().ForEach(i => Console.Write("{0}{1} ", i.Value, i.Checked ? "!" : ""));
// => 1 2! 3 4! 5
}
class Item {
public readonly bool Checked; public readonly int Value;
public Item(int value, bool _checked) { Value = value; Checked = _checked; }
}
SQLっぽい雰囲気
002625
2015/11/26(木) 22:52:39.19ID:sUIZ4Kkhint[] source = new int[] { 1, 2, 3, 4, 5 };
var result = source.Join(new bool[]{true, false}, o=>true, i=>true, (v, c) => new {Value = v, Checked = c})
.Where(p => { var r = p.Value % 2; return r == 0 && p.Checked || r == 1 && !p.Checked; });
result.ToList().ForEach(i => Console.Write("{0}{1} ", i.Value, i.Checked ? "!" : ""));
// => 1 2! 3 4! 5
匿名型なんてのがあるのか
00276
2015/11/27(金) 00:00:23.02ID:V/UxGV6Oありがとう。
やっぱり 案2 というか has a しかないかな。
でもよく考えたら特定用途にしか使わないことが明確ならインターフェイスの全メソッドを
真面目書く必要もないかも知れないと気がついた。
いやインターフェイスに定義されてるメソッド等の実装はしなきゃならないのは変わらないんだけども。
0028デフォルトの名無しさん
2015/11/27(金) 01:58:20.80ID:iofAV5opInterface IV
Cancel();
Interface IA:IV
V v=objectA;
0029デフォルトの名無しさん
2015/11/28(土) 14:48:27.88ID:dnKF4fhx・具体的にはデータベースの内容をDataGridViewに表示して
編集した内容をデータベースに反映したい
・テキストボックスに検索文字を入力してデータの絞込をしたい
調べたらこういう記事がありました
新グリッド・コントロールの豊富な機能と高い表現力 − @IT
http://www.atmarkit.co.jp/fdotnet/special/win20review02/win20review02_02.html
実際やってみたら、編集可にしているのにセルの値の編集が全く出来ない
(このやり方は表示するだけ?)
それに10年前の記事でとても古い
今だとどういう方法で実現すればいいでしょうか?
0030デフォルトの名無しさん
2015/11/28(土) 16:34:28.63ID:N2qWmI2+SQLiteなら
http://dangoya.jp/?p=116
こんなのとかたくさんあるみたい
0031デフォルトの名無しさん
2015/11/28(土) 17:03:27.66ID:X+9lGRnlそれGUIの設計というより、DBからデータを取得する方法じゃないですか
しかも結果はデバッグ出力だし
全く参考にならない
0032デフォルトの名無しさん
2015/11/28(土) 17:09:40.67ID:N2qWmI2+こんなのだったらいいのか
それにGUIなら
http://c-loft.com/blog/?p=1844
こういう奴とか?いくらでもあるんだが
0033デフォルトの名無しさん
2015/11/28(土) 17:15:59.89ID:CPGEE3Euコピペで要求満たせるサンプル持って来いってんだよ
すべて説明しないと察せないのか?
ガキか素人か?
0034デフォルトの名無しさん
2015/11/28(土) 17:24:52.80ID:N2qWmI2+自分で探せやアホ
0035デフォルトの名無しさん
2015/11/28(土) 17:26:09.88ID:CPGEE3Eu0036デフォルトの名無しさん
2015/11/28(土) 21:57:42.37ID:QbwUMUmL>教えてクレクレ君と言われてもしかないだろうな
初学者としても勉強不足だし
ググレカス以外のの返答は期待できない
0037デフォルトの名無しさん
2015/11/28(土) 23:18:13.48ID:ExUydw0Xてかこういうコントロール系って
サーバ側で取得するとき
全行ループしてFindControllでコントロール取得するんだよね?
MVC勉強してると、こういうの面倒くさいなと思う
0038デフォルトの名無しさん
2015/11/28(土) 23:42:17.02ID:dnKF4fhxまではようやく出来たのですが、いざDataGridViewに表示しようとすると
ソートができない、値の変更ができないなどがあって躓いてしまいました
調べると、データテーブルを使えばコードレスで表示する方法を見つけたのですが
DataGridViewでの変更をデータベースに反映する方法までは乗っておらず
一体どの方法でするのが一番いいのかわからなくなって質問しました
�@SQLite→EF(or dapper)→BindingListView→DataGridView
この方法だとLINQも使えて、値の変更も反映されるようですが
ソートやジェネリックに対応しようとするとBindingListViewや
BindingNavigatorの実装を自前で書かないといけなくて難しい
でもこれが完成するとほとんどFormにコードを書かなくて済むみたい
�ASQLite→TableAdapter→DataTable→データソース→DataGridView
表示するまでは簡単だけど、変更をデータベースに反映するのが大変?
EFやdapperを勉強したのは無駄だった?
比較的簡単なのはこの2つなのかなと思ったのですが
どのやり方が一般的というか簡単というか、そこのところが知りたいです
今後WEBシステムや業務用の顧客管理システムを作る予定は全くありません
ちょっとした自分用の動画や音楽のデータベースを作りたいだけです
0039デフォルトの名無しさん
2015/11/28(土) 23:47:13.87ID:3Q3OpRosEFなんか使わないのがベスト
(EFがターゲットとする)業務システムってとんでもなく複雑なんだぜ
それに比べりゃたかが動画や音楽のDBごときにEFなんか要らん
0040デフォルトの名無しさん
2015/11/28(土) 23:49:15.85ID:kPVc8Yloネットの情報見ながらなら�Aが楽かと
0041デフォルトの名無しさん
2015/11/29(日) 00:05:54.22ID:aZc4OEnQ検索と更新、ソートが画面上からできればいいんでしょ?
0042デフォルトの名無しさん
2015/11/29(日) 00:32:17.14ID:9octMKBLEFを使わない方がいい理由は
三輪車にV6エンジン搭載するような感じですか?
ダメな理由があまり見つからないもので
重いからかな?確かにdapperと比べると遅いですけど
>>40
�Aの場合、DataGridViewの変更がDataTableに反映されて
それをTableAdapterでデータベースにUpdateという感じでよろしいですか?
>>41
マッピングまではやってみました
それをDataGridViewで検索、更新、ソートできるようにする方法が
調べた感じだとBindingSourceの自作しかなさそうだったのですが
他に方法はあるのでしょうか?
レスありがとうございます。それと質問ばかりですみません
一つのことを実現するのに方法が無数にありすぎて混乱してます
0043デフォルトの名無しさん
2015/11/29(日) 10:31:35.90ID:BA+ijUMqList<>とDictionary<>にデータ保持とかの自作のクラスを入れてしまうと
だいたいやりたいことができているんだけど
あえて自分でIEnumerableを扱う利点ってどんなものなの?
0044デフォルトの名無しさん
2015/11/29(日) 10:40:55.72ID:ejXKaOWLなんでもいいから複数の値を引数で受けたいとか返したいとかよくあるだろ?
そういうとき具体的なコレクションの型を指定してしまうと不要な厳しい制限を設けることになってしまう
0045デフォルトの名無しさん
2015/11/29(日) 10:53:25.06ID:7SVdQgBNSystem.Linq.Enumerableの実装見るのが手っ取り早い
0046デフォルトの名無しさん
2015/11/29(日) 12:28:51.61ID:j4qD5yiX0047デフォルトの名無しさん
2015/11/29(日) 12:32:01.69ID:ejXKaOWL遅延リストや無限リストのようなものもList<T>も配列も同じ「要素のシーケンス」として
共通のインターフェースで扱えることに意味がある
0048デフォルトの名無しさん
2015/11/29(日) 12:41:33.12ID:MHU1lz94破棄されたオブジェクトにアクセスできませんとエラーが出るんです
出ないようにするにはどうすればいいでしょうか?
0049デフォルトの名無しさん
2015/11/29(日) 16:15:06.84ID:vuzu98VNcancelとwait
0050デフォルトの名無しさん
2015/11/29(日) 16:32:17.55ID:yHrLnXF5ありがとうございます。
無事に出来ました!!
0051デフォルトの名無しさん
2015/11/29(日) 17:02:57.67ID:sqPcAEkvここまでほとんど自演なんだろうな
0052デフォルトの名無しさん
2015/11/29(日) 18:29:07.30ID:djg7Qs12くだらないことでドヤらないで。
0053デフォルトの名無しさん
2015/11/29(日) 21:49:18.21ID:y4EB3thr>>49
個人的にはこれがすごいと思う
エスパー的な意味で
0054デフォルトの名無しさん
2015/11/29(日) 23:42:04.32ID:X6CLD+vb0055デフォルトの名無しさん
2015/11/30(月) 17:10:07.41ID:wM8ePfaTブラウザの中のフラッシュやHTML5の画面の左上座標ってどうすればとれますか?
画像認識で強引に認識するしかないでしょうか?
0056デフォルトの名無しさん
2015/11/30(月) 17:37:19.12ID:NvF8UIfD0057デフォルトの名無しさん
2015/11/30(月) 17:42:27.07ID:pbgvhCW90058デフォルトの名無しさん
2015/11/30(月) 19:54:38.66ID:wM8ePfaTWindows 7 です
>>57
よくわからなかったので軽く調べてみましたけど
自作のUIがジェットの中にブラウザ表示させるみたいな感じなんでしょうか
そうではなくて chrome や firefox なんかに表示されてる
フラッシュの画面部分だけぴったりスクリーンキャプチャするようなプログラム作りたいんですけど
無理ですかね…
0059デフォルトの名無しさん
2015/11/30(月) 20:07:34.72ID:4TtrR1iM自分で作らなくても、両方とも既にあると思うけど。
0060デフォルトの名無しさん
2015/11/30(月) 20:17:18.03ID:NvF8UIfD0061デフォルトの名無しさん
2015/11/30(月) 23:07:13.04ID:wM8ePfaT1日何枚もとってブログにはったりするので
それを自動できれいにやるようにしたかっただけです
まあ内側のフラッシュのプロセスつかんで
その表示位置取得したりできるかなと思ったんですけど無理なんでしょうか…
あきらめます
回答していただいた方ありがとうございました
0062デフォルトの名無しさん
2015/12/01(火) 02:01:07.71ID:XoX/fDF50063デフォルトの名無しさん
2015/12/01(火) 02:10:57.73ID:fBpqlrz30064デフォルトの名無しさん
2015/12/01(火) 20:17:01.67ID:sAwax9ox>>48です。
closingイベントでcancel要求を出して
それが受けつるまで待機するという意味での
waitだと思いました。
0065デフォルトの名無しさん
2015/12/03(木) 00:33:41.52ID:lhYNgz5S変数aとbがあるとします
aの内容をbから参照する事は出来るでしょうか?
a=1;
//bに対してaを参照できる何らかの処理
print(b);//1
a=5;
print(b);//5
という結果を出したいのですが
0066デフォルトの名無しさん
2015/12/03(木) 01:12:22.92ID:lfpcI0/L0067デフォルトの名無しさん
2015/12/03(木) 02:09:53.61ID:F5OD5ya2レベル高すぎてやりたいことがわかんない
0068デフォルトの名無しさん
2015/12/03(木) 03:29:17.07ID:KH3XuQZQ同じオブジェクトIDを持つ、同一オブジェクト
でも、intのようなprimitive型では、
値(参照ではなく内容)がコピーされるため、
参照のようなことは出来ないかも
(C#にも、Javaのようなprimitive型があればの話だが)
0069デフォルトの名無しさん
2015/12/03(木) 10:58:04.62ID:lhYNgz5Sやっぱり無理なんですか
ありがとうございました
これができないと余分なコードを書かないといけない状況に陥ってたんですが
仕方ありません
0070デフォルトの名無しさん
2015/12/03(木) 12:10:31.86ID:r4QYskO6そんな状況ありえんと思うけどねw
何か思いっきり勘違いしてそう思い込んでるだけだと思う。
あと一応値型でもunsafeでポインタは取れるよ。
0071デフォルトの名無しさん
2015/12/03(木) 12:52:27.54ID:zCQ/Nhg2何をしたいのかよくわからんけど、やりたいことを関数に切り出して、int 変数を参照渡しにすればいいんじゃね?
0072デフォルトの名無しさん
2015/12/03(木) 13:04:34.35ID:IgpEN7lw0073デフォルトの名無しさん
2015/12/03(木) 13:11:21.98ID:zCQ/Nhg2もしくは1要素の配列にするとか
var a = new int[1];
a[0] = 1;
var b = a;
print(b[0]); //1
a[0] = 5;
print(b[0]); //5
0074デフォルトの名無しさん
2015/12/03(木) 13:18:55.92ID:jUS2N3R70075デフォルトの名無しさん
2015/12/03(木) 14:10:48.22ID:lhYNgz5Sdelegateを使ってなんとか実現できました〜
回答ありがとうございます
0076デフォルトの名無しさん
2015/12/03(木) 20:17:12.68ID:zCQ/Nhg2配列を提案した俺が言うのもなんだが、クラスはなんか負けた気がする…
0077デフォルトの名無しさん
2015/12/03(木) 20:43:19.72ID:/6SEhgDG極限まで行っちゃうとなんらかの値オブジェクトをどこかから取得する事となんらかの値オブジェクトをどこかに転送する事
この2つの連鎖でほぼ全てのシステムが組める
つまりinterface IValue<T> { T Value { get; set; } }はプログラムの全てを抽象化すると言ってよい
0078デフォルトの名無しさん
2015/12/03(木) 20:46:05.45ID:IgpEN7lw0079デフォルトの名無しさん
2015/12/04(金) 05:49:43.54ID:CuO9UgGbどう書いたのかコードみせて!
0080デフォルトの名無しさん
2015/12/04(金) 08:23:18.98ID:UQYmj2IVEF使えないと、SQL自前で組み立て、Dapperでアクセスでやってるんだけど
SQL作る部分を綺麗に書きたい
0081デフォルトの名無しさん
2015/12/04(金) 08:30:25.10ID:N8pVjmap0082デフォルトの名無しさん
2015/12/04(金) 12:05:23.03ID:ciEp6cCKまず俺のやりたい事というのはアドベンチャーゲームのようなものを作っててこういう風にセリフを持ってます
Serihu[] serihu=new Serihu[]{
new Serihu("こんにちは"),
new Serihu("ご機嫌どうですか"),
new Serihu("さようなら"),
};
ここで問題になったのはこのテキストの中に変数を入れたい時どうするかというものでした
例えば「僕は○○をつかった」とか「僕は○○のダメージを受けた」などです
そこで
new Serihu("僕は",○○,"を使った")と○○に参照を入れる事を考えあれこれ試行錯誤しました
で、解決法として○○にdelegateの関数ポインタを入れてやってみたら上手く行きました
Serihuクラスの中で
public delegate string Watasi();
public Watasi watasi;と宣言して
コンストラクタを
public Serihu(string m1,Watasi w,string m2){
moji1=m1;
watasi=w;
moji2=m2;
}
と書きます
それでserihu配列の保持クラスに
public string GetItemumei(){
return itemmei.Tostring();//itemmeiには使いたい変数を何でも使えます
}
と書いて
最初の配列に
new Serihu("僕は",GetItemumei,"を使った")
と入れると変数をそのまま使えるというわけです
0083デフォルトの名無しさん
2015/12/04(金) 12:28:30.63ID:4FwXmqLX0084デフォルトの名無しさん
2015/12/04(金) 12:36:37.37ID:ciEp6cCKやっぱり他人から見ればそう見えるのかw
自分でもそうなんじゃないかなぁとw
まぁ何度も書いてくうちに効率的な書き方わかるようになるでしょ
0085デフォルトの名無しさん
2015/12/04(金) 12:37:39.48ID:NrPmzULQ0086デフォルトの名無しさん
2015/12/04(金) 12:38:19.14ID:uOiBxvHU全然理解できない。
0087デフォルトの名無しさん
2015/12/04(金) 12:54:34.09ID:ciEp6cCK平たく言うと
まず最初にセリフを配列で持ちたい
そしてそのセリフの中に動的に変数を入れたいということです
0088デフォルトの名無しさん
2015/12/04(金) 12:55:52.79ID:6PuXTYFV0089デフォルトの名無しさん
2015/12/04(金) 13:12:02.93ID:ciEp6cCK>>88
ちょっと俺無知ゆえになにか凄い勘違いをしてたのかもしれません
ちょっとそれ調べて試してみます
上手く行ったら報告します
0090デフォルトの名無しさん
2015/12/04(金) 13:42:05.60ID:uOiBxvHUだとしたら勘違いしてるのは>>85の方。
そこはいいけど、疑問なのは本当に委譲が必用なのそれってところ。
0091デフォルトの名無しさん
2015/12/04(金) 13:44:54.36ID:/QKGOPGQ何も勘違いしてないよ
知識が根本的に足りてないだけ
0092デフォルトの名無しさん
2015/12/04(金) 13:46:59.55ID:ciEp6cCKstring.Formatメソッドというのはstringを作るメソッドなのでセリフを表示する
時に使わないといけないと思います
で、俺のプログラムでは最初にserihu配列を作る時にどの変数を参照するかも決定されるので
配列を作った時とセリフを表示されるまで間があります
その間string.Formatで使う変数の参照を結局は持っておかないといけません
0093デフォルトの名無しさん
2015/12/04(金) 14:00:21.98ID:ciEp6cCK確かにデリゲートを使うのは俺も疑問でした
何しろ変数一個につき余計な関数が一つ増えますし明らかに冗長です
でも他に思い付かなかったんですよ
なんかあるんですかね
0094デフォルトの名無しさん
2015/12/04(金) 14:09:54.37ID:FKEfoH7y>その間string.Formatで使う変数の参照を結局は持っておかないといけません
持ってればいいだろアホか
>>82でpublic Watasi watasi;なんて余計な参照持ってるくせにobjectの参照持つのは気に喰わないのかよ
0095デフォルトの名無しさん
2015/12/04(金) 14:19:31.55ID:ciEp6cCKそれでC#における参照とはなんなのかなぁと思って>>65の質問になったわけです
条件としてはある変数aをある変数bでも利用できるようにしたいというものなんですけど
0096デフォルトの名無しさん
2015/12/04(金) 14:22:04.36ID:FKEfoH7yそれの参照渡せばいいだけだろ
0097デフォルトの名無しさん
2015/12/04(金) 14:29:10.18ID:ciEp6cCKそれだとserihuクラス配列に渡す変数はすべてクラスで包まなければならないと
言う事になりませんか?
実はまだどの変数をセリフに渡すかとかは決めてないんです
恐らくゲームを作っていくうちに増えていくと思います
それで変数をクラスで包むという手法には抵抗がありまして
0098デフォルトの名無しさん
2015/12/04(金) 14:35:53.45ID:FKEfoH7yC#使うのやめろ
0099デフォルトの名無しさん
2015/12/04(金) 14:42:25.47ID:ciEp6cCKみなさん薄々気付いてるかもしれませんが前スレラストでちょっと荒れ気味になった件の
あの者です
俺が来たらどこもああなります
何か人を苛つかせる能力でもあるのでしょうかw
すいません
この件は上手く行ったのでこれはこれでいいです
ありがとうございました
0100デフォルトの名無しさん
2015/12/04(金) 15:13:45.01ID:+NxYXL3O0101デフォルトの名無しさん
2015/12/04(金) 15:31:48.75ID:L/LPhIAT自前string.Formatみたいなの作った方がいいんじゃねえの
と思ったり。
例えば、"僕は%damage%のダメージを受けた"という文字列を渡すと
"僕は69のダメージを受けた"みたいにするようなの。
■ このスレッドは過去ログ倉庫に格納されています