13/02/12 21:04:08.60
回答としては、質問のような話は気にしなくてよい
それよりはクロージャーの変数お漏らしの可能性の方が高い
141:135
13/02/12 21:34:41.20
ありがとうございます
やはり一つ分の領域+インスタンスの個数分の参照という感じでしたか
インスタンスを作成する個数は気にせずにメソッドを実装することにします
142:デフォルトの名無しさん
13/02/12 23:48:17.25
<?xml version="1.0" encoding="utf-8"?>
<root>
<Data>
<Point X="A" Y="B" />
<Point X="C" Y="D" />
</Data>
<Data>
<Point X="E" Y="F" />
<Point X="G" Y="H" />
</Data>
</root>
上記のような内容のxmlを読み込んで、各DataごとにPointクラスのリスト(List<Point>)を作成し、そのリスト(List<List<Point>>)を出力したいです。
どのように記述したらいいのでしょうか。
全体をXElementとして読み込むところまではできたのですが、その先がわからず・・・
どなたか教えていただけないでしょうか。
143:デフォルトの名無しさん
13/02/13 00:19:22.19
こんなところかい
using System;
using System.Linq;
using System.Drawing;
using System.Xml.Linq;
public class Test
{
public static void Main(string[] args)
{
var root = XElement.Load("test.xml");
var data = (from datum in root.Elements("Data")
select (from point in datum.Elements("Point")
select new Point((int)point.Attribute("X"),
(int)point.Attribute("Y"))
).ToList()).ToList();
foreach (var points in data) {
Console.WriteLine("---");
foreach (var pt in points) {
Console.WriteLine("({0}, {1})", pt.X, pt.Y);
}
}
}
}
144:デフォルトの名無しさん
13/02/13 00:28:47.94
Windows FormでlistBoxを使うのですが、1番最初に入ってる物は0、2番目に入ってるものは1、と
配列のインデックス?を標準したいのですが、どうすればいいですか?
145:デフォルトの名無しさん
13/02/13 00:38:56.24
>>129
おー、ありがとう!すっげー助かったよ!
>>134
2012 Expressでもいけたよー、ありがとー
146:デフォルトの名無しさん
13/02/13 03:09:53.55
>>144
「標準する」ってどこの方言だ
誤字のような気もするから、もう一度落ち着いて質問しろ
表示したいのは配列のインデックスなのか?配列の中身じゃないのか?そこもハッキリさせろ
そもそも区別が付いてないならググッてこい
147:デフォルトの名無しさん
13/02/13 05:39:54.09
配列のインデックスは基本ゼロスタートだよね。
148:デフォルトの名無しさん
13/02/13 05:48:05.05
ゼロオリジンな
149:デフォルトの名無しさん
13/02/13 06:49:26.85
.NETではzero-basedが正しい
150:デフォルトの名無しさん
13/02/13 07:15:42.29
オリジン弁当食いたい
151:デフォルトの名無しさん
13/02/13 07:25:08.25
普通にインデックスをそのままつっこめばいいんじゃないのか
152:デフォルトの名無しさん
13/02/13 08:21:47.06
>>143
できました、ありがとうございます!
ToList()という便利なメソッドがあったのですね。
これを見つけられず、1人で数時間悩んでいました・・・
もう少しLinqのことを勉強してみます。ありがとうございました。
153:デフォルトの名無しさん
13/02/13 08:28:49.60
linqきめー
154:デフォルトの名無しさん
13/02/13 09:26:36.78
つーてもSQLがデファクトスタンダードな昨今
この流れは止まらんだろな
155:デフォルトの名無しさん
13/02/13 09:34:30.98
やはりC#は1.1が最高だわ
156:デフォルトの名無しさん
13/02/13 10:14:45.15
ArrayListしかないなんて(´・д・`)ヤダ
157:デフォルトの名無しさん
13/02/13 11:46:02.86
リンキューの糞構文使うなよ気持ち悪い
拡張メソッドでいいだろ
158:デフォルトの名無しさん
13/02/13 12:02:20.01
C#をコンパイルしないでPHPとかRubyとかPerlとかPythonみたいにスクリプト言語で使う方法教えてください
簡単な作業を簡単な20~30行未満のコードを動かすのにコンパイルしないで動かしたいんです
159:デフォルトの名無しさん
13/02/13 12:33:45.77
貴方にできる方法はない
160:デフォルトの名無しさん
13/02/13 12:34:29.94
VBScriptを使えばいい