You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将C#中的xValue、yValue、zValue设为公共变量供跨页面使用?

解决方案

很简单,你只需要在现有的CommonData公共类里添加三个静态公共字段(或者封装成属性)来存储x、y、z的值,然后在SetData方法里完成赋值,就能在其他页面直接访问这些变量了。

修改后的完整代码

public class CommonData 
{
    // 新增的公共静态变量,供其他页面访问
    public static string xValue = string.Empty;
    public static string yValue = string.Empty;
    public static string zValue = string.Empty;
    public static string o = string.Empty;

    public static void SetData(string s) 
    {
        String[] vals = s.Split(';');
        o = "X=" + vals[0] + " Y=" + vals[1] + " Z=" + vals[2];
        // 给三个公共变量赋值
        xValue = vals[0];
        yValue = vals[1];
        zValue = vals[2];
    }
}

在其他页面的使用方式

先调用SetData方法初始化数据,之后直接通过类名访问这些静态变量就行:

// 第一步:传入字符串完成数据初始化
CommonData.SetData("15;30;45");

// 第二步:在任意页面读取值
var currentX = CommonData.xValue; // 得到"15"
var currentY = CommonData.yValue; // 得到"30"
var currentZ = CommonData.zValue; // 得到"45"

更安全的小优化

如果想避免外部代码意外修改这些变量的值,可以把字段封装成只读属性,只允许CommonData内部修改:

public class CommonData 
{
    // 封装为只读属性,外部只能读取
    public static string xValue { get; private set; } = string.Empty;
    public static string yValue { get; private set; } = string.Empty;
    public static string zValue { get; private set; } = string.Empty;
    public static string o { get; private set; } = string.Empty;

    public static void SetData(string s) 
    {
        String[] vals = s.Split(';');
        o = "X=" + vals[0] + " Y=" + vals[1] + " Z=" + vals[2];
        xValue = vals[0];
        yValue = vals[1];
        zValue = vals[2];
    }
}

这样外部代码只能读取xValue、yValue和zValue,只有SetData方法能修改它们,数据安全性更高。

内容的提问来源于stack exchange,提问作者Yann Kang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:36:10