【c#-在语句if处声明变量】教程文章相关的互联网学习教程文章

c# – 如何防止用户错误地初始化变量?【代码】

我正在研究一个名为PByte的类,它应该表示一个介于32和126之间的int值.(PByte = Printable Byte.)现在我想阻止类的用户错误地初始化一个对象,但我不想抛出异常,我只是想让Visual Studio不能编译,就像你尝试这样做时发生的那样:byte b = 256;sealed class PByte : IEquatable<PByte>, IComparable, IComparable<PByte> {public PByte(int value){/* if (value < 32 || value > 126)throw new ArgumentException("\"" + value + "\" ...

c# – 在执行Expression时提取实例变量的当前值【代码】

我目前正在尝试编写一些将C#表达式转换为文本的代码. 要做到这一点,我不仅需要遍历表达式树,还要评估它的一小部分 – 以获取局部变量的当前值. 我发现很难说出来,所以这里是伪代码.缺少的部分是第一种方法:public class Program {private static void DumpExpression(Expression expression){// how do I dump out here some text like:// set T2 = Perform "ExternalCalc" on input.T1// I can easily get to:// set T...

c# – 如何获取声明的变量和其他定义【代码】

我在嵌入式REPL中使用Roslyn脚本API,我不时需要知道在当前会话中定义了哪些变量,以及所有其他定义(类,接口……)以及引用和导入的命名空间. 我在API中找不到任何可以给我那种信息的东西,我知道它在某处. Dose Scripting API使用一些不寻常的实现,比如每次都更新内存中的程序集?如果是这样,如何访问该程序集.解决方法:我不知道是否有特定于Roslyn的API,但看起来您可以使用Reflection获取信息.这是一件苦差事.我在Visual Studio中使用...

c# – F#游戏开发:修改状态变量【代码】

open SFML.Graphics open SFML.Windowlet window = new RenderWindow(new VideoMode(200u, 200u), "SFML works!") let shape = new CircleShape(10.0f, FillColor=Color.Green) let mutable pressedKey = Keyboard.Key.Unknownlet moveKeys = [ Keyboard.Key.Up; Keyboard.Key.Left;Keyboard.Key.Down; Keyboard.Key.Right ]let keyPress (e : KeyEventArgs) =match e.Code with| moveKeys -> pressedKey <- e.Code| _ -> pressedK...

C#如何使用构造函数中存储在变量中的classname创建新对象?【代码】

我在一个程序中有8个表单(和计数).我有这个重复的代码来实例化或带回每个表单的“可见”,并希望有一块模块化的代码,将执行此片段中显示的这些检查://Some form classes: Form f2 = new Form_DisplayCustomersList(); ...and other forms too... ///The code that I would like to modularize, so I don't have to repeat it for every form: private void button1_Click(object sender, EventArgs e) { //check f...

c# – 如何在gridview中绑定变量值?【代码】

我想在gridview中显示一些变量值. 码:int cnt = Convert.ToInt32(txtCount.Text);DateTime start = Convert.ToDateTime(txtStart.Text);DateTime end = Convert.ToDateTime(txtEnd.Text);TimeSpan datedifference = end.Subtract(start);int dateCount = datedifference.Days;float maxUpload = dateCount * 288; float remainingUpload = maxUpload - cnt;float averageUpload = remainingUpload / (dateCount * 288) * 100;我想...

c# – 看似相等的浮点变量的示例不相等【代码】

任何人都可以向我展示一个包含浮点值的两个C#变量的例子,这些浮点值“似乎”相等但事实上并非如此.当我说“看似平等”时,我的意思是他们在直觉上似乎是平等的. 我正在寻找这样一个例子的原因是因为我有代码比较两个浮点变量的相等性,Visual Studio警告我浮点数的比较可能是不相等的,因为两个值的精度不同.我理解浮点变量不精确(这里是一个非常清楚地讨论和解释的StackOverflow question)但是我没有找到一个实际的例子,其中两个看起...

是否可以使用Lua / Javascript脚本扩展新的变量来扩展C#对象?【代码】

可以说我有C#类:class Player {string Name;int HitPoints }我想为我的游戏添加modding / scripting支持,用户可以使用自己的变量扩展它. (让我们说“bool StartedKill5RatsQuest”),然后对他来说同样可以访问他的默认参数. 用户脚本:player.HP = 10; player.StartedKill5RatsQuest = true;是否可以使用任何众所周知的脚本语言来完成它?解决方法:你不能直接这样做.但是,通过引入一组内部“变量”,可以获得类似的功能:Dictionary...

c# – 将变量设置为没有开关盒的类型【代码】

我有一个ListOfObjects对象列表,它们都是相同的类型,但具体的类型是未知的(但是,我知道所有可能的类型).有 许多可能的类型.每个对象都有属性Name,它是一个类型的字符串.我想做类似以下的事情:foreach (object elements in ListOfObjects) {// Some code here that casts elements into the specific type and pass it into another function }我知道一种方法是使用switch case语句switch (ListOfObjects[0].Name){case "Type1"://...

c# – 如何使变量的值跟踪另一个变量的值【代码】

这是我现在所拥有的一个非常简单的例子:public static class Settings {public static TH th; }public partial class PhrasesFrame {private void SetC1Btn(){var a = (int)Settings.th;vm.C1BtnLabelTextColor = phrase.C1 == true ?Styles.A[(int)Settings.th] :Styles.A[(int)Settings.th];}我想用以下代替:public partial class PhrasesFrame {// The value of Settings.th can change at any time// I want the value of id...

c# – lambda表达式中的变量如何赋值【代码】

以下示例中的索引如何获取其值?我知道n是从源数字中自动获得的,但是,虽然含义很明确,但我没有看到索引是如何赋值的:int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; var firstSmallNumbers = numbers.TakeWhile((n, index) => n >= index);TakeWhile的签名是:public static IEnumerable<TSource> TakeWhile<TSource>(this IEnumerable<TSource> source, Func<TSource, int, bool> predicate);解决方法:此版本的TakeWhile提供...

c# – 如何轻松地将环境变量添加到多个Lambda函数?

我正在开发一个AWS无服务器应用程序,我是AWS的新手,所以请纠正这个问题中的任何误解.我们有大约30个lambda函数在RDS中托管的SQL数据库上执行基本的CRUD操作.我们使用EntityFramework Core来创建数据库.这意味着,为了使用数据库,lambda函数每个都需要访问EF连接字符串.我不想将连接字符串留在内存中(它包含明文密码)所以我把它放在一个加密的环境变量中. 我可以解决如何做到这一点的唯一方法是通过lambda管理控制台GUI将加密的环境变...

c# – 当env变量发生变化时重新加载配置【代码】

在Startup.cs文件中我有public Startup(IHostingEnvironment env) {var builder = new ConfigurationBuilder().SetBasePath(env.ContentRootPath).AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) .AddEnvironmentVariables();Configuration = builder.Build(); }有配置的appsettings.json文件.喜欢 :{"Log" : {"Type" : "value from appsettings.json"} }reloadOnChange设置为true,因此,当我...

c# – 一个方法中具有相同名称的多个变量【代码】

我喜欢变量命名正确但在某些情况下很难做到. 所以,如果我的对象实现了IDisposable,那么我可以使用:using (var whatever = new Whatever()) { //... }但这种情况很少见,所以我找到了另一种方法来处理它 – 匿名阻止(不确定它是如何正确调用的)://... {var whatever = new Whatever();//... } //... if (condition) {var whatever = new Whatever(); }这是一个好方法吗?是否有任何陷阱或普遍认为它会降低代码可读性?解决方法:基本...

c# – 如果我确保两个线程永远不会并行运行,我还是要让我的列表变量挥发吗?【代码】

想象一下,我有这个代码,我可以在Windows窗体中找到计时器产生一些线程 – 但我确保只运行一个线程以下方法(由here的答案之一 – 由马特约翰逊表示): nb:我们假设现在这种_executing方法有效,我不使用backgroundworker等.private volatile bool _executing;private void TimerElapsed(object state) {if (_executing)return;_executing = true;if(smth){Thread myThread = new Thread(MainThread1);myThread.IsBackground = true;...