powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Выборка LinqToObject
4 сообщений из 4, страница 1 из 1
Выборка LinqToObject
    #37074973
Фотография gds
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ, подскажите как правильно преобразовать тип. Пробовал по разному все равно не выходит.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
// List<string> this._file_list
var tmp_res = Directory.GetFiles(ScanDir);            

            if (this._file_list == null)
            {
                this._file_list = tmp_res.ToList();
                this._file_list.ForEach(delegate(string obj) { this.AddLog(string.Format("File {0} has been created",obj)); });
            }
            else
            {
                // created
                var res1 = from cr in tmp_res
                           where !this._file_list.Contains(cr)
                           select cr;
// тут работает замечательно.
                List<string> l1 = res1.ToList();
                l1.ForEach(delegate(string obj) { this.AddLog(string.Format("File {0} has been created",obj)); });

                // deleted     
                string[] st = this._file_list.ToArray();
                var res2 = from del in st
                                    where !tmp_res.Contains(st)
// тут ругается, типо неправильно приведены типы.
/*
Error	1	'string[]' does not contain a definition for 'Contains' and the best extension method overload 'System.Linq.ParallelEnumerable.Contains<TSource>(System.Linq.ParallelQuery<TSource>, TSource)' has some invalid arguments	

Error	2	Instance argument: cannot convert from 'string[]' to 'System.Linq.ParallelQuery<System.Collections.Generic.List<string>>'	*/
                           select del;
                //ForEach(delegate(string obj) { this.AddLog(string.Format("File {0} has been deleted",obj)); });
                this._file_list=null;
            }
пробывал с List<string> один хрен. ошибка
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
var res2 = from del in this._file_list
                                    where !tmp_res.Contains(this._file_list)
                           select del;
/*
Error	1	'string[]' does not contain a definition for 'Contains' and the best extension method overload 'System.Linq.ParallelEnumerable.Contains<TSource>(System.Linq.ParallelQuery<TSource>, TSource)' has some invalid arguments	

Error	2	Instance argument: cannot convert from 'string[]' to 'System.Linq.ParallelQuery<System.Collections.Generic.List<string>>'	
*/
Как в этом случае правильно преобразовать? Да быстродействие обработки - критично.

Одна из основных проблем человека - проблема выбора.
...
Рейтинг: 0 / 0
Выборка LinqToObject
    #37074994
Фотография gds
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пробывал даже привести к одному типу. все равно ошибка понвертации.
Код: plaintext
1.
2.
3.
4.
5.
6.
// this._file_list - List<string>
List<string> st = tmp_res.ToList<string>();  
                var res2 = from del in st
                                    where !st.Contains(this._file_list)
                           select del;
               
Код: plaintext
1.
2.
3.
Error	1	The best overloaded method match for 'System.Collections.Generic.List<string>.Contains(string)' has some invalid arguments

Error	2	Argument 1: cannot convert from 'System.Collections.Generic.List<string>' to 'string'
...
Рейтинг: 0 / 0
Выборка LinqToObject
    #37075005
Фотография gds
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gdsпробывал даже привести к одному типу. все равно ошибка понвертации.
Код: plaintext
1.
2.
3.
4.
5.
6.
// this._file_list - List<string>
List<string> st = tmp_res.ToList<string>();  
                var res2 = from del in st
                                    where !st.Contains(this._file_list)
                           select del;
               
Код: plaintext
1.
2.
3.
Error	1	The best overloaded method match for 'System.Collections.Generic.List<string>.Contains(string)' has some invalid arguments

Error	2	Argument 1: cannot convert from 'System.Collections.Generic.List<string>' to 'string'

опечатка
Код: plaintext
1.
2.
3.
4.
var res2 = from del in this._file_list
                                    where !st.Contains(this._file_list)
                           select del;
                
...
Рейтинг: 0 / 0
Выборка LinqToObject
    #37075026
Фотография gds
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин сам ложанулся, нашел ошибку. Ошибка в синтаксисе.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Выборка LinqToObject
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]