Весь ваш подход неверен. Когда дело доходит до доступа к службам REST сервера sharepoint 2013 с помощью javascript, вам не нужен токен доступа. Вместо этого вы должны использовать междоменную библиотеку Sharepoint 2013.
Страница на http://msdn.microsoft.com/en-us/library/jj164022.aspx объясняет после показа классического запроса REST с использованием oauth-токена:
Этот запрос будет выглядеть несколько иначе, если вы пишете свое приложение на JavaScript, но используете междоменную библиотеку SharePoint 2013. В этом случае вам не нужно предоставлять токен доступа. Следующий код демонстрирует, как будет выглядеть этот запрос, если вы используете междоменную библиотеку и хотите получить представление OData списков в виде XML вместо JSON. См. Как: получить доступ к данным SharePoint 2013 из удаленных приложений с помощью междоменной библиотеки для получения дополнительной информации об использовании междоменной библиотеки.
Это в настоящее время URL этой статьи http://msdn.microsoft.com/en-us/library/fp179927.aspx
Это должно быть вашим правильным ответить
var list = new List<string>();
var sortedList = new SortedList<string, string>(list.ToDictionary(s => s));
Я понятия не имею, насколько это эффективно, но это одна строка кода :) Также , в этом примере я просто использовал саму строку как селектор. В реальном сценарии вы должны заранее знать, что вы хотите использовать в качестве селектора.
Помните, что List
- это интеллектуальный массив, а SortedList
- это двоичное дерево ключ / значение. Поскольку между их структурами нет взаимосвязи, не может быть более эффективного способа сделать это, чем просто взять каждый элемент из списка и поместить его в дерево.
Если вы имеете в виду «отсортированный список» вместо « SortedList
, "тогда легко отсортировать список с помощью List.Sort ()
или подходящего OrderBy ()
.
Вы имеете в виду:
List
и вы хотите, чтобы он был отсортирован по месту? List < T>
и вы хотите создать другой «список», который сам отсортирован List
и вы хотите создать SortedList
где ключ такой же, как и значение Предполагая ввод:
var x = new List<int>() { 3, 2, 1 };
1 тривиально
x.Sort();
2 тривиально
// sx is an IOrderedEnumerable<T>, you can call ToList() on it if you want
var sx = x.OrderBy(i => i);
3 тривиально с копией
var s = new SortedList<int,int>(t.ToDictionary(i => i));
и более эффективно:
var s = new SortedList<int,int>();
foreach (var i in x) { s[i] = [i]; }
Я не могу см. , почему вам нужно сделать 3, но готово.
List unsortedPersons = new List();
// ... Populate unsortedPersons ...
var sorted = from person in unsortedPersons
orderby person.Name
select person;
LINQ дает вам ISortedEnumerable i верьте, что может быть достаточно для ваших целей.