Описание тега c#-to-f#

Эта тема тега посвящена преобразованию кода C# в F# или изучению F# с точки зрения человека, имеющего опыт работы на C#.
1 ответ

F# эквивалент общедоступного универсального метода C#

Я пытаюсь создать публичный метод в классе в F#. Эквивалент в C# будет: public void MyMethod<T>(string name, Thing<T> thingToProcess) { // Do stuff } В F# я пытаюсь: member public this.MyMethod<'T>((name : System.String), (thingToP…
23 июн '13 в 21:13
1 ответ

При отладке F# можете ли вы пропустить последний оператор функции?

В C#, если я хочу пропустить последний оператор метода в отладчике, я могу поставить курсор на конечную фигурную скобку метода и щелкнуть правой кнопкой мыши и выбрать Set Next Statement (Ctrl+Shift+F10), В F#, так как нет фигурной скобки, есть ли с…
15 сен '13 в 02:01
1 ответ

Сохраняйте объекты в списке и рисуйте их в формах Windows, используя F#

В настоящее время я изучаю F# из C# фона, и я сделал проект, аналогичный этому, когда я изучил C#, поэтому я пытаюсь сделать то же самое в F#, то, что я хочу создать, это очень простой редактор 2D-графики, использующий формы Windows и F#, и я столкн…
07 янв '14 в 16:39
2 ответа

Назначение F# перегруженному свойству C#

Я пытаюсь использовать стороннюю библиотеку C# в F#. Автор C# перегружен полем, которое я пытаюсь установить, чтобы сам объект получил значение. С извинениями за сокращенный и неполный фрагмент кода C# выглядит так: public class cls1 { public List&l…
23 авг '12 в 16:38
1 ответ

Как преобразовать список списка int в список (int * int) в F#

Если я хочу конвертировать список [[[0; 5]; [1; 5]; [2; 3]]] к списку кортежей [(0, 5); (1, 5); (2, 3)] используя F# или сопоставление с образцом в F#, пожалуйста, как мне это сделать?
08 ноя '18 в 10:46
1 ответ

Простая демоверсия XNA 2D: почему моя версия F# медленнее, чем версия C#?

При запуске этого приложения XNA оно должно отображать повернутый прямоугольник, который перемещается из верхнего левого угла в нижний правый угол. Похоже, что моя версия F# заметно медленнее. Кажется, что метод Draw пропускает много кадров. Я испол…
1 ответ

Вернуть запущенную асинхронную<T> в F# функцию из вызова неасинхронной Func<T> из C#?

Допустим, я хочу вызвать из F# эту функцию C#: public static class Foo { public Bar Baz() { ... } } Проблема в том, что эта функция сильно загружает процессор, и я не хочу блокировать ее. К сожалению, библиотека C# не имеет Task&lt;Bar&gt; BazAsync(…
1 ответ

ServiceStack.Redis с F# не хранит данные. Но почти такой же код в C# работает

Я играю сегодня вечером с F# и Redis. Я использую ServiceStack.redis для подключения к редису MSOpenTech, работающему на локальном хосте. В целях тестирования я пытался сохранить цену биткойна в redis с помощью кода, подобного следующему: let redis …
08 дек '13 в 02:33
3 ответа

Сравнение значений в цикле внутри функции

Я хочу сделать функцию, которая принимает список целых чисел в качестве аргумента, сравнивает каждое значение и возвращает наибольшее значение. В C# я просто перебираю каждое значение в списке, сохраняю наибольшее в переменной и возвращаю его, я над…
26 ноя '13 в 14:09
1 ответ

Как правильно вернуть последовательность классов с выражением запроса?

Я новичок в F# и возникают проблемы с переводом кода C#. У меня есть класс, похожий на этот: type car () = member val Model = "" with get,set member val Year = "" with get,set У меня есть это выражение запроса, который извлекает данные автомобиля из…
08 сен '15 в 20:27
1 ответ

F#: Как правильно перечислить несколько файлов?

У меня есть куча файлов размером несколько мегабайт, которые очень просты: Они имеют размер, кратный 8 Они содержат только двойные числа с прямым порядком байтов, поэтому их можно читать с помощью BinaryReader"s ReadDouble() метод При лексикографиче…
05 апр '18 в 08:00
2 ответа

Сканирование XML с C# на F#

Пытаясь изучить F#, и я попытался переопределить следующую функцию в F# private string[] GetSynonyms(string synonyms) { var items = Enumerable.Repeat(synonyms, 1) .Where(s =&gt; s != null) .Select(XDocument.Parse) .Select(doc =&gt; doc.Root) .Where(…
11 ноя '15 в 17:19
1 ответ

Http Опубликовать поток в F# без чтения в байтовый массив

С C# я могу использовать System.Net.Http Библиотека для публикации потока прямо так: private async Task UploadFileAsync(Uri uri, string filename) { using (var stream = File.OpenRead(filename)) using (var client = new HttpClient()) { await client.Pos…
05 окт '15 в 21:07
1 ответ

Создайте выражение Linq из функции F# для передачи в C#

Я пытаюсь использовать базу данных Lex.Db в проекте F# в приложении WinRT 8.1. Я следую этому уроку для C#. Я успешно добавил ссылку на Lex.Db в проект F#, а простые вызовы в учебнике переведены в F# и скомпилированы (например, let db = new DbInstan…
30 апр '14 в 11:07
1 ответ

Как перевести метод ReceiveReady в NetMQ из C# в F#

Я работаю с библиотекой, которая не имеет документации F#, только C#. Не имея знакомства с C#, у меня возникли небольшие проблемы. Читая документацию по NetMQ, у меня есть проблема с переводом: Для контекста, вот полный пример: using (var rep1 = new…
30 июл '16 в 23:43
1 ответ

F# наследовать интерфейс

У меня есть следующий класс в F#, который наследует интерфейс Microsoft.AspNet.Identity.IIdentityValidator: type MyValidation() = inherit IIdentityValidator&lt;string&gt; with member x.ValidateAsync (value:string) : Task&lt;IdentityResult&gt; = ....…
03 мар '15 в 09:35
1 ответ

Как инициализировать структуру как с изменяемым, так и с неизменным полем?

Все примеры структур, которые я читал до сих пор, либо когда все поля являются изменяемыми, либо все поля являются неизменяемыми. Таким образом, это хорошо компилируется: [&lt;Struct&gt;] type Number(x:int) = member this.X = x И так же это: [&lt;Str…
24 май '14 в 18:14
1 ответ

Как рассчитать результат на основе многих других дорогих вычислений в F#

Предполагая, что у меня есть следующий псевдо-C# код: TResult MyMethod() { var firstTry = SomeExpensiveComputation1(); if (firstTry.IsSuccessful) return firstTry; var secondTry = SomeExpensiveComputation2(); if (secondTry.IsPartiallySuccessful) { va…
26 фев '19 в 06:20
2 ответа

Разработка тестируемого функционального кода

Мне нравится идея написания чистых функций, но у меня возникают проблемы с пониманием способов их объединения, которые приводят к тестируемому коду. Я привык извлекать классы, а затем соответствующим образом заглушки и чувствую, что мне не хватает н…
2 ответа

ResizeArray Instance в свойстве

Я пытаюсь преобразовать код C# в F# Items = new List&lt;Item&gt; { new Item { Product = "", Category = "", Quantity = 1, Detail = "", Price = 220 } } Следуйте коду F#: let items = ResizeArray&lt;Item&gt;() items.Add(Item( Product = "", Category = ""…
20 янв '19 в 18:08