You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.3 KiB
3.3 KiB
Jupyter笔记 简单入门
使用 Jupyter NoteBook 形式,优点是代码执行和 Markdown 文档放在同一个文件中,并可以交替显示和分段执行代码。
显式声明使用 C# 语言
- csharp
- fsharp
- pwsh
#!csharp
C# 中的引用
- 导入程序文件
可以导入多种文件,包括 .cs .csc .fc .js等,语法为
#!import /path/to/file
- 引用本机 Dll 文件
可以导入本机编译好的dll文件,语法为
#!import /path/to/file
- 引用 Nuget 包
-
默认包源下,可以导入nuget,当然也可以设置包源,语法为
#r 包名,可选版本号
C# 中的引用
- 导入程序文件
可以导入多种文件,包括 .cs .csc .fc .js等,语法为
#!import /path/to/file
#! import "../NotebookStudy.ConsoleApp/Persion.cs"
//单纯引用.cs文件,不能直接使用,解决方法待查找
var p = new Person()
{
Id=1,
Name="小张",
Address="上海无名路1号",
Age = 28
};
//在NoteBook中,可以格式化显示(Notebook提供) C#对象:使用 display(对象); 如果在代码结尾的话,可以直接写 C#对象。
display(p);
//代码结尾的话,直接写 对象
p
var x = new {Name="xx",Agx=33};
display(x);
- 引用本机 Dll 文件
可以导入本机编译好的dll文件,语法为
#!import /path/to/file
//如果找不到文件,需要先生成 NotebookStudy.ConsoleApp 项目
#r "../NotebookStudy.ConsoleApp/bin/Debug/net7.0/NotebookStudy.ConsoleApp.dll"
using NotebookStudy.ConsoleApp;
var personA= new Person()
{
Id=2,
Name="本山",
Age=55
};
personA
- 引用 Nuget 包
//安装库的最新版本
#r "nuget:newtonsoft.json"
var jsonObj = new {Id=2,Name="newtonsoft类库", Age=6};
//使用库
var jsonText = Newtonsoft.Json.JsonConvert.SerializeObject(jsonObj);
jsonText
//安装库的指定版本
#r "nuget:System.Text.Json,4.7.2"
//使用库
var jsonObj2 = new {Id=2,Name="System.Text.Json类库", Age=6};
var jsonText2 = System.Text.Json.JsonSerializer.Serialize(jsonObj2);
jsonText2
//安装最新的预览版库
#r "nuget:xunit,*-*"
using Xunit;
using Xunit.Abstractions;
using Xunit.Sdk;
public class UnitTest1
{
[Fact]
public void Test1()
{
Assert.True(true, "xxxx");
}
}
Nuget 包源管理
- 在线包源
默认包源:https://api.nuget.org/v3/index.json 使用默认包源的话,可以不添加包源引用。当然也可以添加。
//添加包源:可以添加多个
#i "nuget:https://api.nuget.org/v3/index.json"
//使用包源
#r "nuget:AutoFixture.Xunit2"
- 本机包源 Nuget
//添加本地包源
#i "nuget:C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\"
//使用包源
#r "nuget:xunit"
- 经过身份验证的Nuget包源
不能直接引用验证包源,可以通过将源的 PAT 放入用户级 nuget.config 文件来访问经过身份验证的源
内建魔术命令
- #!about 显示有关内核版本的信息
#!about
- #!lsmagic 列出可用的魔术命令,包括可能已通过扩展安装的命令
#!lsmagic
- #!time 显示执行时间
#!time
- -h 参数 显示命令的帮助信息
#!time -h