str.Split (".") не работает в C# интерактивном окне, но работает в C#. Net основном проекте? - PullRequest
3 голосов
/ 11 февраля 2020

(visual studio 2019,. Net core 3.1)

Следующее выражение получило ошибку в C# интерактивном окне.

"".Split("")
(1,10): error CS1503: Argument 1: cannot convert from 'string' to 'char'

#

Какая сборка требуется для метода? Visual Studio показывает, что метод определен в C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Runtime.dll

Ответы [ 2 ]

5 голосов
/ 11 февраля 2020

Перегрузки string.Split, которые принимают одну строку в качестве параметра (в отличие от массива), являются новыми в. NET Core 2.0.

C# Интерактивные прогоны против. NET Framework , поэтому он никогда не получит эти API.

Вы можете убедиться в этом, прочитав System.Runtime.InteropServices.RuntimeInformation.FrameworkDescription из диалогового окна.

2 голосов
/ 11 февраля 2020

Перегрузка, которую вы пытаетесь использовать, которая принимает строку в качестве первого параметра, была добавлена ​​в net -core. Вы можете посмотреть документацию для здесь .

В обычной. NET среде эта перегрузка не существует. Вы можете увидеть перегрузки здесь .

C#, интерактив работает против фреймворка. Вы можете увидеть это, запустив Console.WriteLine(Environment.Version); в интерактивной оболочке и вернув значение, подобное 4.0.30319.*****, вместо 3.1.1. У вас не будет доступа к ядру BCL с C# Interactive до версии C# Interactive, которая работает с основными кораблями.

...