Массив Dictionary
- это , а не и IEnumerable
из KeyValuePair
(один Dictionary
- но это не то, что у вас есть).
Я подозреваю, что вы хотели сделать следующее:
using System.Collections.Generic;
namespace Test
{
public static class Test
{
public static void Execute<TKey, TValue>(this IEnumerable<IEnumerable<KeyValuePair<TKey, TValue>>> enums)
{
}
public static void Execute<T>(this IEnumerable<T> enums)
{
}
}
public class Program
{
public static void Main()
{
IEnumerable<IEnumerable<KeyValuePair<string, string>>> data = new[] {
new Dictionary<string, string> (){
{"Name" , "ITWeiHan" }
}
};
data.Execute();
}
}
}
Обратите внимание, что часть решения должна быть явно о типе - чтобы гарантировать, что компилятору «предложат» выбрать метод, который я хочу это выбрать.
то есть. Я использую IEnumerable<IEnumerable<KeyValuePair<string, string>>>
, а не var
.
Это на самом деле довольно легко. Просто укажите ':memory': как имя файла базы данных при открытии базы данных с помощью API C/C++. Это - специальная константа, которую распознает механизм. То же на самом деле работает на другие языки, такие как Python или Ruby, так как они обычно просто переносят API C/C++. См. http://sqlite.org/c3ref/open.html для полных деталей.
Просто откройте файл: память: и это должно сделать это (по крайней мере, это делает в PHP).
Вы упоминаете, что хотите читать в нескольких плоских файлах и сделать соединения на них. Если возможно хранить плоские файлы как базы данных SQLite, можно работать непосредственно с обоими путем присоединения одного к другому:
ATTACH foo.db AS foo
Затем обратитесь к таблицам в нечто как так:
SELECT * FROM foo.users
Таким образом, можно сделать соединения без потребности в создании базы данных в оперативной памяти.
Если Вы хотите, чтобы SQLite не использовал временные файлы в качестве журналов, например, Вы не хотите действия файла кроме того, когда Вы вручную запрашиваете подключение, разъединение, присоединение или отсоединение. Затем используйте следующие две прагмы во времени выполнения после соединения с ": память": база данных.
PRAGMA temp_store=MEMORY;
PRAGMA journal_mode=MEMORY;
Из документов.