实例1:开发一个简单的控制台应用程序
.NET框架是微软推出的一个强大的开发平台,它允许开发者创建各种类型的应用程序,包括控制台应用程序、Windows窗体应用程序、Web应用程序等。下面,我们将通过一个简单的控制台应用程序来入门.NET框架。
代码示例:
using System;
namespace ConsoleAppDemo
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
Console.ReadLine();
}
}
}
在这个例子中,我们创建了一个名为ConsoleAppDemo的命名空间,并在其中定义了一个Program类。Main方法是这个程序的入口点,它输出“Hello, World!”到控制台,并等待用户输入。
实例2:使用LINQ进行数据查询
LINQ(Language Integrated Query)是.NET框架中的一个强大特性,它允许开发者使用类似于SQL的语法来查询各种数据源。
代码示例:
using System;
using System.Linq;
namespace.LinqDemo
{
class Program
{
static void Main(string[] args)
{
var numbers = new int[] { 1, 2, 3, 4, 5 };
var evenNumbers = numbers.Where(n => n % 2 == 0);
foreach (var number in evenNumbers)
{
Console.WriteLine(number);
}
}
}
}
在这个例子中,我们创建了一个整型数组numbers,并使用LINQ查询找到所有偶数,并将它们输出到控制台。
实例3:创建一个简单的Windows窗体应用程序
Windows窗体是.NET框架中用于创建桌面应用程序的一个图形用户界面框架。
代码示例:
using System;
using System.Windows.Forms;
namespace WinFormDemo
{
public class MainForm : Form
{
private Button helloButton;
public MainForm()
{
helloButton = new Button();
helloButton.Text = "Hello, World!";
helloButton.Click += HelloButton_Click;
Controls.Add(helloButton);
}
private void HelloButton_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello, World!");
}
}
static class Program
{
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
}
}
在这个例子中,我们创建了一个名为MainForm的窗体,其中包含一个按钮。当按钮被点击时,会弹出一个消息框显示“Hello, World!”。
实例4:使用Entity Framework进行数据库操作
Entity Framework是.NET框架中一个流行的ORM(Object-Relational Mapping)框架,它允许开发者以面向对象的方式操作数据库。
代码示例:
using System;
using System.Linq;
using System.Data.Entity;
namespace EntityFrameworkDemo
{
public class BlogContext : DbContext
{
public DbSet<Post> Posts { get; set; }
}
public class Post
{
public int Id { get; set; }
public string Title { get; set; }
public string Content { get; set; }
}
static class Program
{
static void Main()
{
using (var context = new BlogContext())
{
var post = new Post { Title = "My First Post", Content = "This is my first post." };
context.Posts.Add(post);
context.SaveChanges();
}
}
}
}
在这个例子中,我们创建了一个BlogContext类,它继承自DbContext。Post类表示博客文章,我们通过Entity Framework将其保存到数据库中。
实例5:使用ASP.NET MVC开发一个简单的Web应用程序
ASP.NET MVC是.NET框架中用于开发Web应用程序的一个流行框架。
代码示例:
using System;
using System.Web.Mvc;
namespace MvcDemo.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
return View("Index");
}
}
}
在这个例子中,我们创建了一个名为HomeController的控制器,其中包含一个Index方法。当访问主页时,会返回一个视图。
实例6:使用SignalR进行实时通信
SignalR是.NET框架中一个用于构建实时Web应用程序的库。
代码示例:
using Microsoft.AspNet.SignalR;
namespace SignalRDemo
{
public class ChatHub : Hub
{
public void Send(string message)
{
Clients.All.addMessage(message);
}
}
}
在这个例子中,我们创建了一个名为ChatHub的Hub,它包含一个Send方法。当调用Send方法时,会将消息广播给所有客户端。
实例7:使用Azure Service Bus进行消息传递
Azure Service Bus是Azure平台中一个用于消息传递的云服务。
代码示例:
using Microsoft.Azure.ServiceBus;
namespace ServiceBusDemo
{
class Program
{
static void Main()
{
var client = new QueueClient("Endpoint=sb://myqueue.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=yourKey");
var message = new Message(Encoding.UTF8.GetBytes("Hello, Service Bus!"));
client.SendAsync(message);
}
}
}
在这个例子中,我们创建了一个名为QueueClient的消息队列客户端,并向其中发送了一条消息。
实例8:使用Azure Web Jobs进行后台任务处理
Azure Web Jobs是Azure平台中一个用于后台任务处理的云服务。
代码示例:
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Host;
namespace WebJobDemo
{
public static class Functions
{
[FunctionName("MyWebJob")]
public static void Run([TimerTrigger("0 0 */1 * * *")] TimerInfo myTimer, TraceWriter log)
{
log.Info("C# Timer trigger function executed at: " + DateTime.Now);
}
}
}
在这个例子中,我们创建了一个名为MyWebJob的定时作业,它每1小时执行一次。
实例9:使用Docker在.NET Core应用程序中进行容器化
Docker是一个开源的应用容器引擎,它允许开发者将应用程序及其依赖项打包到一个容器中。
代码示例:
FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 80
COPY *.csproj .
RUN dotnet restore
COPY . .
RUN dotnet publish -c Release -o out
RUN dotnet run --urls="http://*:80"
FROM mcr.microsoft.com/dotnet/core/sdk:5.0 AS build
WORKDIR /src
COPY Dockerfile .
COPY . .
RUN dotnet publish -c Release -o out
FROM build AS final
WORKDIR /src/out
RUN dotnet publish -c Release -o /app
在这个例子中,我们创建了一个Dockerfile,用于将.NET Core应用程序打包到一个容器中。
实例10:使用Azure DevOps进行持续集成和持续部署
Azure DevOps是Microsoft提供的一个DevOps平台,它允许开发者进行持续集成和持续部署。
代码示例:
trigger: main
pool:
vmImage: windows-latest
steps:
- task: UseDotNet@2
inputs:
packageType: 'nuget'
version: '5.0.x'
- task: NuGetToolInstaller@1
- task: NuGetPack@1
inputs:
nugetpackfile: '**/*.csproj'
packagesdirectory: 'packages'
outputDirectory: 'out'
- task: CopyFiles@2
inputs:
contents: 'out/*'
targetFolder: '$(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
在这个例子中,我们创建了一个Azure DevOps管道,用于将.NET Core应用程序打包并部署到目标环境中。
