Консоль C # / Интерпретатор CLI?

Если вам абсолютно нужна локальная копия файла, вам нужно будет открыть InputStream копию содержимого в локальный файл, в котором вы знаете путь, а затем перейти оттуда. Sidenote: Guava ByteStreams#copy - это простой способ выполнить это.

Конечно, этот файл больше не поддерживается исходным источником Uri, поэтому я не думаю, что это то, что вы хотите. Вместо этого вы должны работать с API-интерфейсом Uri. Взгляните на Storage Access Framework

Изменить

Вот как вы можете получить InputStream из вашего Uri

InputStream inputStream = getContentResolver().openInputStream(uri);

29
задан mackenir 3 December 2008 в 14:30
поделиться

17 ответов

Linqpad - я все время так использую. http://www.linqpad.net/

Не вводите в заблуждение название - оно просто описывает первоначальную мотивацию, а не его функциональность.

Совсем недавно он выпустил версию с правильным завершением выписки - это платное дополнение (основной инструмент бесплатный), но, думаю, за небольшую сумму денег, и оно того стоит.

33
ответ дан Will Dean 3 December 2008 в 14:30
поделиться

Источники проекта Roslyn содержат REPL под названием CSI ( http://source.roslyn.io/#csi/Csi.cs ). Класс Csi в настоящее время является внутренним, но с проектом «csi» (Roslyn.sln: Interactive / Hosts / csi) доступно исполняемое консольное приложение, которое поддерживает e. г. команда #r для загрузки сборки и #load для загрузки и выполнения файлов сценария (запустите CSI и используйте #help).

0
ответ дан Sonic78 3 December 2008 в 14:30
поделиться

Я также обнаружил, что SharpDevelop настолько быстр и легок, что это самый простой способ запустить быстрый тестовый проект.

2
ответ дан Rob Prouse 3 December 2008 в 14:30
поделиться

Обновление: http://avillenas.com/post/interactive-c

Ну, вы можете попробовать это.

  1. Загрузите и установите dotnet.github.io
  2. Откройте cmd
  3. Введите «dotnet repl»
  4. Введите все, что нужно.

Я сделал то, что ты хотел сделать. Нажмите здесь, чтобы увидеть GIF

0
ответ дан Andrés Villenas 3 December 2008 в 14:30
поделиться

Если вы знаете и любите Python, то IronPython может быть хорошей альтернативой. Он поставляется с (Python) консолью REPL (ipy.exe), где вы можете импортировать и использовать все типы .Net.

Я считаю, что это полезно для тестирования мелочей, в точности как DateTime.Parse("Blah").

Обратите внимание, что он на самом деле не может выполнить код C #, но если все, что вам нужно, это доступ к .Net, то он идеален. Кроме того, если вы установите IronPython Tools для VS , вы можете запустить сеанс REPL прямо в VS, используя одну комбинацию клавиш (Alt + I), и оставить ее работающей в закрепленном окне, когда вам это нужно.

0
ответ дан Cameron 3 December 2008 в 14:30
поделиться

Как вы предлагаете, PowerShell может делать то, что вы хотите. Например, чтобы протестировать ваш DateTime.Parse, вам пригодится следующий вкладыш:

PS C: \ Documents and Settings \ Dan> [System.DateTime] :: Parse («Бла») )
Исключение, вызывающее «Parse» с аргументом (ами) «1»: «Строка не была распознана как допустимый DateTime. Существует неизвестное слово, начинающееся с индекса 0.» В строке: 1 символ: 25 + [System.DateTime] :: Parse (< < < "Blah")

PS C: \ Documents and Settings \ Dan> [Система .DateTime] :: Parse ("1/2/3")

01 февраля 2003 00:00:00

Обратите внимание, что в приведенном выше примере используется текущая версия PowerShell (v1). +0,0). Следующая версия PowerShell позволит вам более непосредственно смешивать C # со сценариями PowerShell. Чтобы разжечь аппетит, посмотрите этот 7-минутный скринкаст « C # для PowerShell » Дуга Финке . Очень впечатляет!

7
ответ дан Dan Blanchard 3 December 2008 в 14:30
поделиться

Используйте LINQPad .

Несмотря на имя, оно может выполнять любой код на C # или VB, от простых выражений до целых классов.

Кроме того, он может визуализировать целые графы объектов в результатах.

Вы даже можете добавлять ссылки на свои собственные сборки.

1
ответ дан SLaks 3 December 2008 в 14:30
поделиться

Если бы вы могли подождать некоторое время ... похоже, что для C # 4.0 может существовать эквивалент C # для irb Ruby вовремя, Андерс Х. продемонстрировал сеанс интерактивной консоли, где вы могли бы ввести произвольный код C # и увидеть результаты в его ' Часть будущего C # на PDC 2008. Вы можете даже извлечь из него окно WPF, а затем поиграть с ним через интерфейс консоли. Довольно круто.

1
ответ дан Gishu 3 December 2008 в 14:30
поделиться

В соответствии с ответом Лассевка, я получил «Сниппи» . Это было разработано для C # в глубине, и пользовательский интерфейс довольно мусор, но он работает - и позволяет вам писать дополнительные члены (методы, вложенные классы и т. Д.), Например,

public static void Foo()
{ 
    Console.WriteLine("Hello");
}
...
Foo();

(... используется, чтобы сказать Сниппи, что «все, что здесь находится, принадлежит Мэйну».)

4
ответ дан Jon Skeet 3 December 2008 в 14:30
поделиться

Попробуйте C # REPL Script Environment , которая является частью платформы O2 . Это именно то, что вы просите.

Это даст вам идеальную среду, чтобы опробовать все функции и API C # (концептуально среда O2 REPL похожа на LinqPAD)

Вам также следует взглянуть на Roslyn от Microsoft. В множественных инструментах, основанных на Roslyn (все работают автономно вне VisualStudio) , первый - простой REPL Roslyn

1
ответ дан Dinis Cruz 3 December 2008 в 14:30
поделиться

Вы можете найти полезную Стенд для тестирования объектов. Это не очень хорошо известно, но позволяет создавать экземпляры классов, выполнять статические методы и так далее. Это может быть полезно для обнаружения того, как использовать незнакомые API, или для быстрой отладки ваших собственных классов и методов, сохраняя создание тестового жгута для простых проверок.

Документацию по MSDN можно найти здесь:

http://msdn.microsoft.com/en-us/library/c3775d98%28VS.80%29.aspx

1
ответ дан Dave R. 3 December 2008 в 14:30
поделиться

Если вы используете Mono, вот что:

CsharpRepl

Don Box взломал что-то очень простое несколько лет назад тоже .

4
ответ дан mackenir 3 December 2008 в 14:30
поделиться

Проект Mono включает в себя интерактивную оболочку C #, это может быть именно то, что вы ищете.

http://www.mono-project.com/CsharpRepl

12
ответ дан James Orr 3 December 2008 в 14:30
поделиться

C # Интерактивное окно и csi.exe REPL были добавлены в Visual Studio 2015 Обновление 1 :

Представляем Интерактивный

Интерактивное окно возвращается! Интерактивное окно C # возвращается в Visual Studio 2015 Update 1 вместе с несколькими другими интерактивными предложениями:

  • C # Interactive . Интерактивное окно C # по сути представляет собой цикл чтения-чтения-печати (REPL), который позволяет вам играть и изучать с использованием технологий .NET, используя преимущества таких функций редактора, как IntelliSense, окрашивание синтаксиса и т. Д. Узнайте больше о том, как использовать C # Интерактивно на 9 канале или читая прохождение для нашего новичка.

  • [+1110]

    ЦСИ . Если вы не хотите открывать Visual Studio для работы с C # или запускать файл сценария, вы можете получить доступ к интерактивному движку из командной строки разработчика. Введите csi /path/myScript.csx, чтобы выполнить файл сценария, или просто csi, чтобы попасть внутрь командной строки REPL.

  • API сценариев . API сценариев дают вам возможность выполнять фрагменты кода C # в создаваемой хостом среде выполнения. Вы можете узнать больше о том, как создать свой собственный движок сценариев C #, ознакомившись с нашими примерами кода.

См. Что нового в Visual Studio 2015, обновление 1 для управляемых языков .NET .

Теперь у вас есть:

  • IDE REPL - C # Интерактивное окно в VS
  • Интерпретатор сценариев - csi foo.csx из командной строки Dev Cmd
  • Командная строка REPL - csi из командной строки Dev Cmd
  • API сценариев
11
ответ дан Athari 3 December 2008 в 14:30
поделиться

Мы только что выпустили CShell полнофункциональную C # REPL IDE. Он поддерживает завершение кода, файлы сценариев, добавление ссылок и действительно расширяемый. Также мы планируем добавить поддержку NuGet в ближайшее время, что позволит очень быстро написать код и посмотреть, как он работает.

http://cshell.net/

CShell screenshot

Мы любим LINQPad, но у него нет REPL, код выполняется один раз, и вы не сможете ничего сделать с результатами, если не измените сценарий и снова не запустите весь сценарий. Это хорошо, но иногда, если вы хотите еще больше ощущения скрипки, чем оценивать ваш код в REPL, это действительно приятно и удобно.

3
ответ дан lukebuehler 3 December 2008 в 14:30
поделиться

Ну, это не прямой ответ на ваш вопрос, но вы можете взглянуть на этот инструмент:

Кроме того, если вы хотите увидеть произведенный IL или аналогичный, есть инструмент, который подключается к Reflector , называемый Snippy , основанный на инструменте Snippy, который Джон упоминает в своем ответе. дальше вниз.

Все это очень приятно использовать.

8
ответ дан Lasse Vågsæther Karlsen 3 December 2008 в 14:30
поделиться

Попробуйте scriptcs , он не интегрирован в VS IDE, но он позволяет вам набирать и запускать C # в окне скрипта без необходимости в компиляторе проекта и т. Д ...

9
ответ дан Pete Stensønes 3 December 2008 в 14:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: