WPF Prism register interface and service, view and viewmodel, IRegionManager, RequestNavigate

news/2025/9/27 18:56:17/文章来源:https://www.cnblogs.com/Fred1987/p/19115484
Install-Package Prism.DryIOC;
Install-Package Prism.Wpf;
Install-Package Microsoft.Xaml.Behaviors.WPF;

image

 

 

 

//App.xaml
<prism:PrismApplication x:Class="WpfApp14.App"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:local="clr-namespace:WpfApp14"xmlns:prism="http://prismlibrary.com/"><prism:PrismApplication.Resources><Style TargetType="Button"><Setter Property="FontSize" Value="50"/></Style><Style TargetType="TextBlock"><Setter Property="FontSize" Value="30"/><Style.Triggers><Trigger Property="IsMouseOver" Value="True"><Setter Property="FontSize" Value="50"/><Setter Property="Foreground" Value="Red"/></Trigger></Style.Triggers></Style></prism:PrismApplication.Resources>
</prism:PrismApplication>//App.xaml.cs
using System.Configuration;
using System.Data;
using System.Windows;
using WpfApp14.Services;
using WpfApp14.ViewModels;
using WpfApp14.Views;namespace WpfApp14
{/// <summary>/// Interaction logic for App.xaml/// </summary>public partial class App : PrismApplication{protected override Window CreateShell(){return Container.Resolve<MainWindow>();}protected override void RegisterTypes(IContainerRegistry containerRegistry){containerRegistry.Register<IIDService, IDService>();containerRegistry.Register<IISBNService, ISBNService>();containerRegistry.Register<INameService, NameService>();containerRegistry.RegisterForNavigation<ViewA, ViewAViewModel>("ViewA");containerRegistry.RegisterForNavigation<ViewB, ViewBViewModel>("ViewB");containerRegistry.RegisterForNavigation<MainWindow, MainWindowViewModel>("MainWindow");}protected override void OnInitialized(){base.OnInitialized();var regionManager = Container.Resolve<IRegionManager>();regionManager.RequestNavigate("MainRegion", "ViewA");}}
}

 

 

 

 

 

 

image

 

 

//App.xaml
<prism:PrismApplication x:Class="WpfApp14.App"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:local="clr-namespace:WpfApp14"xmlns:prism="http://prismlibrary.com/"><prism:PrismApplication.Resources><Style TargetType="Button"><Setter Property="FontSize" Value="50"/></Style><Style TargetType="TextBlock"><Setter Property="FontSize" Value="30"/><Style.Triggers><Trigger Property="IsMouseOver" Value="True"><Setter Property="FontSize" Value="50"/><Setter Property="Foreground" Value="Red"/></Trigger></Style.Triggers></Style></prism:PrismApplication.Resources>
</prism:PrismApplication>//App.xaml.cs
using System.Configuration;
using System.Data;
using System.Windows;
using WpfApp14.Services;
using WpfApp14.ViewModels;
using WpfApp14.Views;namespace WpfApp14
{/// <summary>/// Interaction logic for App.xaml/// </summary>public partial class App : PrismApplication{protected override Window CreateShell(){return Container.Resolve<MainWindow>();}protected override void RegisterTypes(IContainerRegistry containerRegistry){containerRegistry.Register<IIDService, IDService>();containerRegistry.Register<IISBNService, ISBNService>();containerRegistry.Register<INameService, NameService>();containerRegistry.RegisterForNavigation<ViewA, ViewAViewModel>("ViewA");containerRegistry.RegisterForNavigation<ViewB, ViewBViewModel>("ViewB");containerRegistry.RegisterForNavigation<MainWindow, MainWindowViewModel>("MainWindow");}protected override void OnInitialized(){base.OnInitialized();var regionManager = Container.Resolve<IRegionManager>();regionManager.RequestNavigate("MainRegion", "ViewA");}}
}//MainWindow.xaml
<Window x:Class="WpfApp14.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:behavior="http://schemas.microsoft.com/xaml/behaviors"xmlns:local="clr-namespace:WpfApp14"WindowState="Maximized"mc:Ignorable="d"Title="MainWindow" Height="450" Width="800"xmlns:prism="http://prismlibrary.com/"prism:ViewModelLocator.AutoWireViewModel="True"><behavior:Interaction.Triggers><behavior:EventTrigger EventName="MouseMove"><behavior:InvokeCommandActionCommand="{Binding MouseMoveCommand}"/></behavior:EventTrigger></behavior:Interaction.Triggers><Grid><Grid.RowDefinitions><RowDefinition Height="Auto"/><RowDefinition Height="*"/><RowDefinition Height="Auto"/></Grid.RowDefinitions><Grid.ColumnDefinitions><ColumnDefinition/><ColumnDefinition/></Grid.ColumnDefinitions><Button Content="View A"Grid.Row="0"Grid.Column="0"Command="{Binding NavigateCommand}"CommandParameter="ViewA"/><Button Content="View B"Grid.Row="0"Grid.Column="1"Command="{Binding NavigateCommand}"CommandParameter="ViewB"/><ContentControl Grid.Row="1"Grid.Column="0"Grid.ColumnSpan="2"prism:RegionManager.RegionName="MainRegion"VerticalAlignment="Stretch"HorizontalAlignment="Stretch"/><TextBlock Grid.Row="2"Text="{Binding MainStatusMsg}"/></Grid>
</Window>//MainWindowViewModel.cs
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
using System.Windows;
using System.Windows.Input;namespace WpfApp14.ViewModels
{public class MainWindowViewModel : BindableBase{IRegionManager regionManager;public MainWindowViewModel(IRegionManager regionManager){this.regionManager = regionManager;NavigateCommand = new DelegateCommand<string>(NavigateCommandExecuted);MouseMoveCommand = new DelegateCommand(MouseMoveCommandExecuted);}private void MouseMoveCommandExecuted(){var pt=Mouse.GetPosition(Application.Current.MainWindow);MainStatusMsg = $"Location:X:{pt.X:F0},Y:{pt.Y:F0}";}private void NavigateCommandExecuted(string viewName){regionManager.RequestNavigate("MainRegion", viewName);}private string mainStatusMsg;public string MainStatusMsg{get{return mainStatusMsg;}set{SetProperty(ref mainStatusMsg, value);}}public DelegateCommand<string> NavigateCommand { get; set; }public DelegateCommand MouseMoveCommand { get; set; }}
}//ViewA.xaml
<UserControl x:Class="WpfApp14.Views.ViewA"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:WpfApp14.Views"mc:Ignorable="d"             VerticalAlignment="Stretch"HorizontalAlignment="Stretch"xmlns:prism="http://prismlibrary.com/"prism:ViewModelLocator.AutoWireViewModel="True"><Grid><Grid.RowDefinitions><RowDefinition Height="Auto"/><RowDefinition Height="*"/>           </Grid.RowDefinitions><TextBlock Grid.Row="0"Text="{Binding ViewATitle,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"FontSize="50"/><DataGrid Grid.Row="1"ItemsSource="{Binding BooksCollection}"VirtualizingPanel.IsVirtualizing="True"VirtualizingPanel.VirtualizationMode="Recycling"VirtualizingPanel.CacheLengthUnit="Item"VirtualizingPanel.CacheLength="3,3"ScrollViewer.IsDeferredScrollingEnabled="True"ScrollViewer.CanContentScroll="True"><DataGrid.Columns><DataGridTemplateColumn><DataGridTemplateColumn.CellTemplate><DataTemplate><Grid Width="{Binding DataContext.GridWidth,RelativeSource={RelativeSource AncestorType=UserControl}}"Height="{Binding DataContext.GridHeight,RelativeSource={RelativeSource AncestorType=UserControl}}"><Grid.Background><ImageBrush ImageSource="{Binding ImgSource}"/></Grid.Background><Grid.RowDefinitions><RowDefinition/><RowDefinition/></Grid.RowDefinitions><Grid.ColumnDefinitions><ColumnDefinition/><ColumnDefinition/><ColumnDefinition/><ColumnDefinition/><ColumnDefinition/></Grid.ColumnDefinitions><TextBlock Grid.Row="0" Grid.Column="0" Text="{Binding Id}"/><TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding Name}"/><TextBlock Grid.Row="0" Grid.Column="2" Text="{Binding Title}"/><TextBlock Grid.Row="0" Grid.Column="3" Text="{Binding Topic}"/><TextBlock Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="4" Text="{Binding ISBN}"/></Grid></DataTemplate></DataGridTemplateColumn.CellTemplate></DataGridTemplateColumn></DataGrid.Columns></DataGrid></Grid>
</UserControl>//ViewAViewModel.cs
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.IO;
using System.Text;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using WpfApp14.Models;
using WpfApp14.Services;namespace WpfApp14.ViewModels
{public class ViewAViewModel : BindableBase{IIDService idService;INameService nameService;IISBNService iSBNService;ConcurrentDictionary<string, ImageSource> imgDicCache = new ConcurrentDictionary<string, ImageSource>();public ViewAViewModel(IIDService idServiceValue, INameService nameServiceValue,IISBNService isbnServiceValue){ViewATitle = $"In view A now is {DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}";idService = idServiceValue;nameService = nameServiceValue;iSBNService = isbnServiceValue;InitData();            }private void InitData(){InitSize();InitBooksCollection();Task.Run(() =>{InitTimer();});            }private void InitTimer(){System.Timers.Timer tmr=new System.Timers.Timer();tmr.Elapsed += Tmr_Elapsed;tmr.Interval = 1000;tmr.Start();}private void Tmr_Elapsed(object? sender, System.Timers.ElapsedEventArgs e){ViewATitle = $"In view A now is {DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}";}private void InitBooksCollection(){var imgDir = @"../../../Images";if (!Directory.Exists(imgDir)){return;}var imgs = Directory.GetFiles(imgDir);if (imgs == null || !imgs.Any()){return;}int imgsCount = imgs.Count();BooksCollection = new ObservableCollection<Book>();for (int i = 1; i < 101; i++){BooksCollection.Add(new Book(){Id = idService.GetID(),Name = nameService.GetName(),ISBN = iSBNService.GetISBN(),Title = $"Title_{i}",Topic = $"Topic_{i}",ImgSource = GetImgSourceViaUrl(imgs[i % imgsCount])});}}private ImageSource GetImgSourceViaUrl(string imgUrl){if (string.IsNullOrEmpty(imgUrl) || !File.Exists(imgUrl)){return null;}if (imgDicCache.TryGetValue(imgUrl, out var img)){return img;}BitmapImage bmi = new BitmapImage();bmi.BeginInit();bmi.UriSource = new Uri(imgUrl, UriKind.RelativeOrAbsolute);bmi.EndInit();bmi.Freeze();imgDicCache[imgUrl] = bmi;return bmi;}private void InitSize(){var mainWin = System.Windows.Application.Current.MainWindow;if (mainWin == null){return;}GridWidth = mainWin.ActualWidth;GridHeight = mainWin.ActualHeight / 2;}private ObservableCollection<Book> booksCollection;public ObservableCollection<Book> BooksCollection{get{return booksCollection;}set{SetProperty(ref booksCollection, value);}}private double gridWidth;public double GridWidth{get{return gridWidth;}set{SetProperty(ref gridWidth, value);}}private double gridHeight;public double GridHeight{get{return gridHeight;}set{SetProperty(ref gridHeight, value);}}private string viewATitle;public string ViewATitle{get{return viewATitle;}set{SetProperty(ref viewATitle, value);}}}
}//ViewB.xaml
<UserControl x:Class="WpfApp14.Views.ViewB"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:WpfApp14.Views"mc:Ignorable="d" VerticalAlignment="Stretch"HorizontalAlignment="Stretch"xmlns:prism="http://prismlibrary.com/"prism:ViewModelLocator.AutoWireViewModel="True"><Grid><Grid.RowDefinitions><RowDefinition Height="Auto"/><RowDefinition Height="*"/><RowDefinition Height="Auto"/></Grid.RowDefinitions><TextBlock Grid.Row="0"Text="{Binding ViewBTitle,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/><ListBox Grid.Row="1"ItemsSource="{Binding BooksCollection}"VirtualizingPanel.IsVirtualizing="True"VirtualizingPanel.VirtualizationMode="Recycling"VirtualizingPanel.CacheLengthUnit="Item"VirtualizingPanel.CacheLength="3,3"ScrollViewer.IsDeferredScrollingEnabled="True"ScrollViewer.CanContentScroll="True"><ListBox.ItemTemplate><DataTemplate><Grid Height="{Binding DataContext.GridHeight,RelativeSource={RelativeSource AncestorType=UserControl}}"Width="{Binding DataContext.GridWidth,RelativeSource={RelativeSource AncestorType=UserControl}}"><Grid.Background><ImageBrush ImageSource="{Binding ImgSource}"/></Grid.Background><Grid.RowDefinitions><RowDefinition/><RowDefinition/></Grid.RowDefinitions><Grid.ColumnDefinitions><ColumnDefinition/><ColumnDefinition/><ColumnDefinition/><ColumnDefinition/><ColumnDefinition/></Grid.ColumnDefinitions><TextBlock Grid.Row="0" Grid.Column="0" Text="{Binding Id}"/><TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding Name}"/><TextBlock Grid.Row="0" Grid.Column="2" Text="{Binding Title}"/><TextBlock Grid.Row="0" Grid.Column="3" Text="{Binding Topic}"/><TextBlock Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="4" Text="{Binding ISBN}"/></Grid></DataTemplate></ListBox.ItemTemplate></ListBox></Grid>
</UserControl>//ViewBViewModel.cs
using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.IO;
using System.Text;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using WpfApp14.Models;
using WpfApp14.Services;namespace WpfApp14.ViewModels
{public class ViewBViewModel : BindableBase{IIDService idService;INameService nameService;IISBNService isbnService;ConcurrentDictionary<string, ImageSource> imgDicCache = new ConcurrentDictionary<string, ImageSource>();public ViewBViewModel(IIDService idServiceValue, INameService nameServiceValue,IISBNService isbnServiceValue){ViewBTitle = $"In view B";idService = idServiceValue;nameService = nameServiceValue;isbnService = isbnServiceValue;InitData();}private void InitData(){InitSize();InitBooksCollection();Task.Run(() =>{InitTimer();});}private void InitTimer(){System.Timers.Timer tmr = new System.Timers.Timer();tmr.Elapsed += Tmr_Elapsed;tmr.Interval = 1000;tmr.Start();}private void Tmr_Elapsed(object? sender, System.Timers.ElapsedEventArgs e){ViewBTitle = $"In view B now is {DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}";}private void InitBooksCollection(){var imgDir = @"../../../Images";if (!Directory.Exists(imgDir)){return;}var imgs = Directory.GetFiles(imgDir);if (imgs == null || !imgs.Any()){return;}int imgsCount = imgs.Count();BooksCollection = new ObservableCollection<Book>();for (int i = 1; i < 101; i++){BooksCollection.Add(new Book(){Id = idService.GetID(),Name = nameService.GetName(),ISBN = isbnService.GetISBN(),Title = $"Title_{i}",Topic = $"Topic_{i}",ImgSource = GetImgSourceViaUrl(imgs[i % imgsCount])});}}private ImageSource GetImgSourceViaUrl(string imgUrl){if (string.IsNullOrEmpty(imgUrl) || !File.Exists(imgUrl)){return null;}if (imgDicCache.TryGetValue(imgUrl, out var img)){return img;}BitmapImage bmi = new BitmapImage();bmi.BeginInit();bmi.UriSource = new Uri(imgUrl, UriKind.RelativeOrAbsolute);bmi.EndInit();bmi.Freeze();imgDicCache[imgUrl] = bmi;return bmi;}private void InitSize(){var mainWin = System.Windows.Application.Current.MainWindow;if (mainWin == null){return;}GridWidth = mainWin.ActualWidth;GridHeight = mainWin.ActualHeight / 4;}private ObservableCollection<Book> booksCollection;public ObservableCollection<Book> BooksCollection{get{return booksCollection;}set{SetProperty(ref booksCollection, value);}}private double gridWidth;public double GridWidth{get{return gridWidth;}set{SetProperty(ref gridWidth, value);}}private double gridHeight;public double GridHeight{get{return gridHeight;}set{SetProperty(ref gridHeight, value);}}private string viewBTitle;public string ViewBTitle{get{return viewBTitle;}set{SetProperty(ref viewBTitle, value);}}}
}//IDService.cs
using System;
using System.Collections.Generic;
using System.Text;namespace WpfApp14.Services
{public interface IIDService{int GetID();}public class IDService:IIDService{int id = 0;public int GetID(){return Interlocked.Increment(ref id);}}
}//NameService.cs
using System;
using System.Collections.Generic;
using System.Text;namespace WpfApp14.Services
{public interface INameService{string GetName();}public class NameService:INameService{int idx = 0;public string GetName(){return $"Name_{Interlocked.Increment(ref idx)}";}}
}//ISBNService.cs
using System;
using System.Collections.Generic;
using System.Text;namespace WpfApp14.Services
{public interface IISBNService{string GetISBN();}public class ISBNService : IISBNService{int idx = 0;public string GetISBN(){return $"ISBN_{++idx}_{Guid.NewGuid():N}";}}
}//Models/Book.cs
using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Media;namespace WpfApp14.Models
{public class Book{public int Id { get; set; }public string Name { get; set; }public string Title { get; set; }public string Topic {  get; set; }public string ISBN { get; set; }public ImageSource ImgSource { get; set; }}
}

 

 

 

image

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/919817.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

完整教程:Flink 容错从状态后端到 Exactly-Once

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

门户网站属于新媒体吗台州网站建设慕枫

莆田学院录取分数线2020是多少分&#xff0c;各专业录取分数线是多少&#xff0c;是每个填报莆田学院的考生最关注的问题&#xff0c;随着各省高考录取批次相继公布&#xff0c;考生也开始关心是否被录取&#xff0c;本站小编整理相关信息供参考&#xff0c;仅供参考。一、莆田…

兼职做网站赚钱吗网站首页设计图片简约

ChatGPT Admin Web 在团队和组织内共享使用人工智能的一站式解决方案。 ​编辑 ​编辑 ​编辑 CAW 是一个自托管网络应用程序&#xff0c;提供开箱即用的用户管理&#xff0c;包括后台界面以及可配置的支付计划和相关支付界面。 GitHub Sponsor / 爱发电 功能 Features …

【08】海康相机C#开发——在海康MVS的**C#实例中添加控件报错**“`不能在本地化模式下添加组件。在 Language 属性中选择”(默认)”以返回到默认格式,然后添加组件`” - 实践

【08】海康相机C#开发——在海康MVS的**C#实例中添加控件报错**“`不能在本地化模式下添加组件。在 Language 属性中选择”(默认)”以返回到默认格式,然后添加组件`” - 实践2025-09-27 18:47 tlnshuju 阅读(0) 评…

哪个建立网站好个人网上卖货的平台

&#x1f497;个人主页&#x1f497; ⭐个人专栏——数据结构学习⭐ &#x1f4ab;点击关注&#x1f929;一起学习C语言&#x1f4af;&#x1f4ab; 导读&#xff1a; 我们在前面学习了单链表和顺序表&#xff0c;以及栈和队列。 今天我们来学习小堆。 关注博主或是订阅专栏&a…

# Windows CMD 基本指令参考手册

Windows CMD 基本指令参考手册常用命令提示符指令速查指南,包含直接复制功能Windows 命令提示符(CMD)是一个强大的工具,可以让您通过输入命令来执行各种系统操作。本参考手册整理了最常用的 CMD 指令,方便您快速查…

P13019 [GESP202506 八级] 树上旅行

解题思路 这个问题需要在有根树上模拟移动操作,但直接模拟会超时(因为移动次数可能很大)。核心思想是使用二进制提升(Binary Lifting)技术来优化移动过程。 关键观察:向上移动(移动到父节点):可以使用倍增表 …

完整教程:负载均衡式的在线OJ项目编写(二)

完整教程:负载均衡式的在线OJ项目编写(二)pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "…

Java语法基础课程动手动脑及课后实验问题整理文档

一、编程思维与项目分解相关按照“将整个程序分成若干个组件(分解);将多次出现的相似功能设成独立的方法(模式识别、抽象、算法);调试每个独立组件的健壮性(单元测试);按照功能要求进行组件组合(整合);再测…

安装包制作流程-final

1.给项目exe文件添加 管理员权限添加清单文件:在 Visual Studio 中,右键点击你的 WPF 项目,选择“添加” > “新建项”,然后选择“应用程序清单文件 (app.manifest)”并添加。如果已存在该文件,此步骤可省略。…

让YOLO飞起来:从CPU到GPU的配置指南

最近在配置YOLO(You Only Look Once)进行物体检测和图像分割任务时,发现默认安装的情况下,YOLO使用的是CPU进行计算。 这对于需要处理大量图像或实时检测的任务来说,效率明显不足。 本文将详细介绍如何将YOLO从CP…

记录这辈子见到的第一道从上到下的树上倍增

这道题先是浪费我半个下午做,做不出来有时好久看题解实现,气死我了。 题意。 给定一张 \(N\) 点的树,让我们考虑断掉每一条边,统计分裂出的两个子树的重心编号和之和。 要求 \(O(nlogn)\) 或更优的时间复杂度。 做…

忘形篇

忘形篇先想想暴力怎么做

06.容器存储 - 教程

06.容器存储 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "C…

fm网站开发有源码怎么搭建网站

文章来源&#xff1a;http://blog.csdn.net/edeed/archive/2006/02/10/596271.aspx 1、安装PD v11.0版 2、由pdm生成建表脚本时&#xff0c;字段超过15字符就发生错误&#xff08;oracle&#xff09; 原因未知&#xff0c;解决办法是打开PDM后&#xff0c;会出现Database的菜单…

电子商务网站如何进行维护和推广建设部网站官网挂证通报

ARM32位系统的内存布局图 32位操作系统的内存布局很经典&#xff0c;很多书籍都是以32位系统为例子去讲解的。32位的系统可访问的地址空间为4GB&#xff0c;用户空间为1GB ~ 3GB&#xff0c;内核空间为3GB ~ 4GB。 为什么要划分为用户空间和内核空间呢&#xff1f; 一般处理器…

一般路人向第39次CSP认证

一般路人向第39次CSP认证Q1 第一题十分水,照着他意思来就行了,十来分钟写出来交上去,不行。反复确认直到半个小时,发现交到第二题上去了。 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> int m, n; do…

1748:约瑟夫问题

题目 总时间限制: 1000ms 内存限制: 65536kB 描述 约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1到n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子再接着从1开始报数。就这样…

做报名统计的网站微门户网站建设

前面两篇文章记录了 Spring IOC 的相关知识&#xff0c;本文记录 Spring 中的另一特性 AOP 相关知识。 部分参考资料&#xff1a; 《Spring实战&#xff08;第4版&#xff09;》 《轻量级 JavaEE 企业应用实战&#xff08;第四版&#xff09;》 Spring 官方文档 W3CSchool Spri…

net网站开发教程简易微网站模板

构造器最大的作用:创建对象. 为什么使用反射创建对象,为什么不直接来new呢? 在框架中,提供给我们的都是字符串. ----------------------------------------------------------- 使用反射创建对象: 步骤: 1);找到构造器所在类的字节码对象. 2):获取构造器对象. 3):使用反射…