(Я просто понимаю, что это НЕ верно. Поэтому, пожалуйста, пропустите это решение :() Здесь есть 2 комментария.
number = -2
и list = listOf(-1)
. Тогда [113 ] не может сказать нам, доступна ли эта пара в out list
. Другое дело, что Kotlin предоставляет нулевую функцию безопасности. Мы можем вернуть ее как обнуляемый тип, в данном случае, Pair<Int, Int>?
. Если наша функция возвращает нулевое значение, это означает, что что нет никакой возможной пары, которую мы ищем явно. fun findSumOfTwo(list: List<Int>, number: Int): Pair<Int, Int>? {
return list
.flatMap { it1 -> list.map { it2 -> Pair(it1, it2) } }
.firstOrNull { it.first + it.second == number }
}
Не стесняйтесь обсуждать:) [1110 ]
[К сожалению, я не могу комментировать пока что-нибудь, так что я отправлю это в качестве ответа.]
Я вижу, что этот пост немного устарел, но я нахожусь в той же лодке, и я нашел это в файле redist.txt Visual Studio 2008:
Windows SDK Files
Subject to the license terms for the software, the following files may be distributed unmodified:
MageUI.exe
Mage.exe
Makecert.exe
Не уверен, что что-то изменилось (и если моя интерпретация верна), но похоже, что makecert.exe, включенный как часть Windows SDK, который, в свою очередь, включен как часть установки VS2008, действительно может быть распространен.
Woohoo! Время для pinvoke для Вас
crypt32 обеспечивает функцию CertCreateSelfSignCertificate; если это успешно выполняется, можно сохранить его в персональном хранилище пользователя (или хранилище машины, предполагающее, что Вы работаете поднятые),
Я не использовал OpenSSL, но я нахожусь в одной лодке и нашел эту статью полезной:
Обеспечение сервисов WCF с сертификатами
Автор обходит Вас посредством установки Microsoft Certificate Services, создавая CA, который может быть добавлен к доверенным центрам сертификации (на обоих клиентах и серверах, так как это сам подписано), затем генерируя сертификаты клиента и сервера, что цепочка из самоподписанного сертификата CA.
Вам не будут нужны клиентские сертификаты, но это действительно помогает Вам создать самоподписанный CA и сертификат сервера.