는 C#

2009-11-02 5 views
1

을의 목록에 값을 추가 할 수 없습니다.는 C#

이제 번호를 actualISDN.Value.number = part_nummer과 함께 목록에 추가하고 싶습니다. 그러나 cannot be implicitly converted이라는 오류가 표시됩니다.

어디로 잘못 가고 있습니까?

답변

4

문자열을 IEnumerable에 할당하려고합니다.

var part_nummer = from n in nummer 
    select n.Value; 
//string temp = part_nummer; 

actualISDN.Value.number = part_nummer; 

대신이 일을해야합니다

var part_nummer = from n in nummer 
    select n.Value; 
//string temp = part_nummer; 

actualISDN.Value.number = part_nummer.FirstOrDefault(); 
+0

이제 반환 값을 변경할 수 없다는 새로운 오류가 발생했습니다. 변수가 아닌 원인이됩니다. – cordellcp3

+0

@ cordellcp3 질문의 문맥에 넣을 수 없다면 어떤 의미가 없습니다. 모두에게 무슨 일이 일어나고 있는지 볼 수 있도록 질문에 오류를 포함 시키십시오. – Joseph

+0

그냥 "숫자"를 변경하는 문제를 해결했습니다 - 목록의 값을 숫자로 바꿉니다! – cordellcp3

4

var를 사용하지 마십시오. 문제가 명확 해집니다.

var part_nummer = from n in nummer 
select n.Value; 
//string temp = part_nummer; 
actualISDN.Value.number = part_nummer; 
+0

정말 이해하지 마라! "var"대신 "string"part_nummer를 사용하는 경우 문제가 여전히 존재합니다! : – cordellcp3

2

당신이 쓸 때 :

var part_nummer = from n in nummer 
    select n.Value; 

part_nummer가 IEnumerable<T>이 포함되어 있습니다.

var nummer = nums.XPathSelectElement("value"); // not XPathSelectElements ! 
var part_nummer = nummer.Value; 

actualISDN.Value.number = part_nummer; 
+0

반환 값을 변경할 수 없다는 새로운 오류가 발생했습니다. 변수가 아닌 원인이됩니다. – cordellcp3

+0

오류가 마지막 행에있을 것입니다. 실제 IDDN.Value는 * copy * ISDN 구조체의 복사본에 대한 변경 사항은 "실제"값으로 전파되지 않습니다. 같은 것을 시도하십시오 ISDN copy = actualISDN.Value; copy.number = part_nummer; actualISDN = copy; –

+0

그냥 "숫자"를 변경하는 문제를 해결 - 목록에있는 값 숫자로 변경! 그래서 나는 그것에 가치를 더할 수 있었다! 도와 주셔서 감사합니다! – cordellcp3

0

코드는 작은 화면에 잘 렌더링하지만 의견에서 촬영에 PART_NUMBER의 LINQ (LINQ가 간다)를 포장하려고하지 않습니다를 읽을 수 없습니다 .Single : 당신은 더 나은 그런 일을 쓸 것()

+0

그냥 "숫자"- 목록에있는 값을 변경하는 문제를 해결했습니다 숫자! 그래서 나는 그것에 가치를 더할 수 있었다! 도와 주셔서 감사합니다! – cordellcp3