Теперь я обновился до сложной ситуации, и я ужасно застрял. Пожалуйста, дайте мне знать, если вы можете поделиться с ним некоторым светом.Группировка строк и добавление в список
Я больше не имею это как List<string>
. Это теперь List<categories>
Который будет обладать следующими свойствами
public class Categories
{
public string DisplayName { get; set; }
public string ValueCode { get; set; }
public string Count { get; set; }
}
Это будет иметь значения, как
Category1/SubCategory1
cat1/sc1
5
Category1/SubCategory2
cat1/sc2
4
Category 2/Subcategory1
cat2/sc1
5
Category 2/Subcategory2
cat2/sc2
23
Итак, я обновил свой существующий JobCateogry Clas и так далее.
public class JobCateogry
{
public string DisplayName { get; set; }
public string ValueCode { get; set; }
public string Count { get; set; }
public List<JobCateogry> SubCategories { get; set; }
}
Я попытался разбить строку и назначить его на новый класс в два этапа первого расщеплением, а затем assiging. Но я уверен, что делаю это неправильно, потому что в тот момент, когда я раскол, я теряю счет.
var lstCategory = Categories
.Where(i => i.count > 0)
.Select(item => item.valueCode.Split('/')
.Select(k =>(k)).ToList();
List<JobCategories> jobcategories = lstCategory
.Select(item => item.Split(QueryStringConstants.CAT_SEPERATOR.ToCharArray()[0]))
.GroupBy(tokens => tokens[0].Trim(), tokens => tokens[1])
.Select(g => new JobCategories(g.Key, g.DisplayName,g.ToList(),)).ToList();
Помошь?
(мне нужно разделить на значение кода и Покажите DisplayName и Count)
* Старый Вопрос * У меня есть список, который имеет строк что-то вроде этого
"Category1/SubType1"
"Category1/SubType2"
"Category1/SubType3"
"Category1/SubType4"
"Category2/SubType1"
"Category2/SubType2"
"Category2/SubType3"
"Category2/SubType4"
У меня есть класс, который имеет два свойства.
public string Category { get; set; }
public List<string> SubCategory{ get; set; }
Мне нужно пройти через список и выбрать все категории, а затем добавить к ним подкатегории.
Я отсортировал список, и я смог добиться традиционного способа, выполнив цикл for, взяв первую строку и сравнив ее с остальными. Мне было интересно, есть ли какой-нибудь более аккуратный способ сделать это?
Создатель темы может захотеть, чтобы SubCategory являлась коллекцией жетонов [1] - я считаю это двусмысленным на данный момент. Кроме того, 'g.ToList()' возвращает 'List' или 'List '? –
Warty
@ItzWarty, 'List' не был преднамеренным, спасибо за комментарий. –
Andrei