запрос работает нормально, если вы измените
"\\My Documents\\File1.txt" to @"My Documents\\File1.txt"
.
Причина описана в посте, упомянутом Donut.
Следовательно,
string rootPath = "C:\\Users\\MyUserName";
List<string> files = new List<string>();
files.Add(@"My Documents\\File1.txt");
files.Add(@"My Documents\\File2.txt");
var fileList = (from x in files select Path.Combine(rootPath, x)).ToList();
OR
var fileList = files.Select(i => Path.Combine(rootPath, i));
отлично работает.
Если вы вообще не хотите менять существующий источник, , тогда вместо Path.Combine используйте string.Concat
например
string rootPath = "C:\\Users\\MyUserName";
List<string> files = new List<string>();
files.Add("\\My Documents\\File1.txt");
files.Add("\\My Documents\\File2.txt");
var fileList = (from x in files select string.Concat(rootPath, x)).ToList();
OR
var fileList = files.Select(i => string.Concat(rootPath, i));
Надеюсь, это поможет