Вы ошибочно проверили имена узлов Seller
, а не их дочерних элементов. Таким образом, FirstOrDefault()
даст null
(условие Where()
никогда не выполняется из-за неправильного узла), а Convert.ToIn32(null)
даст 0
.
Чтобы исправить это, вы можете напрямую перейти к узлу «FeedbackScore» и преобразовать его значение следующим образом
FeedBackScore = Convert.ToInt32(item.Descendants("FeedBackValue").FirstOrDefault()?.Value),
В основном, потому что Вы создаете неизменный Набор через "канонический метод фабрики", применяются в сопутствующем объекте Набора, который берет последовательность или "varargs" (как в Наборе (a, b, c)). Посмотрите это:
http://scala-tools.org/scaladocs/scala-library/2.7.1/scala/collection/immutable/Set$object.html
Я не думаю, что существует другой, чтобы сделать это в стандартной библиотеке.
Это сделает неизменную копию:
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()