Scala я должен преобразовать в Seq при создании набора из повторяемого?

Вы ошибочно проверили имена узлов Seller, а не их дочерних элементов. Таким образом, FirstOrDefault() даст null (условие Where() никогда не выполняется из-за неправильного узла), а Convert.ToIn32(null) даст 0.

Чтобы исправить это, вы можете напрямую перейти к узлу «FeedbackScore» и преобразовать его значение следующим образом

FeedBackScore = Convert.ToInt32(item.Descendants("FeedBackValue").FirstOrDefault()?.Value),
5
задан Eugene Yokota 15 December 2010 в 19:24
поделиться

2 ответа

В основном, потому что Вы создаете неизменный Набор через "канонический метод фабрики", применяются в сопутствующем объекте Набора, который берет последовательность или "varargs" (как в Наборе (a, b, c)). Посмотрите это:
http://scala-tools.org/scaladocs/scala-library/2.7.1/scala/collection/immutable/Set$object.html

Я не думаю, что существует другой, чтобы сделать это в стандартной библиотеке.

3
ответ дан 15 December 2019 в 06:35
поделиться

Это сделает неизменную копию:

scala> val mu = new scala.collection.mutable.HashSet[String]
mu: scala.collection.mutable.HashSet[String] = Set()

scala> val im = mu.clone.readOnly
im: scala.collection.Set[String] = ro-Set()
0
ответ дан 15 December 2019 в 06:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: