首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

c#,如何在另一个类中使用字符串而不是字符串而是对象的名称?

在C#中,可以通过创建一个对象的实例,然后使用该对象的名称来引用字符串,而不是直接使用字符串。

首先,创建一个类并定义一个属性,该属性的类型为字符串:

代码语言:txt
复制
public class MyClass
{
    public string MyString { get; set; }
}

然后,在另一个类中,你可以创建一个MyClass对象的实例,并使用该对象的名称来引用字符串:

代码语言:txt
复制
public class AnotherClass
{
    public void UseStringFromAnotherClass()
    {
        MyClass myObj = new MyClass();
        myObj.MyString = "Hello, World!";
        
        string myString = myObj.MyString;
        Console.WriteLine(myString); // 输出:Hello, World!
    }
}

在上面的例子中,我们创建了一个MyClass对象的实例myObj,然后将字符串赋值给myObj的属性MyString。接着,我们通过使用myObj.MyString引用该属性来获取字符串,并将其存储在变量myString中。最后,我们通过Console.WriteLine输出了该字符串。

这样,我们就可以在另一个类中使用字符串而不是直接使用字符串本身,而是通过引用对象的属性来使用字符串。

相关搜索:如何在C#而不是byte中使用TcpClient的字符串?Unity c#在附加代码中使用下拉值而不是下拉字符串名称Kotlin不是通过名称直接访问其他类的变量,而是通过字符串变量访问变量如何在AngularDart中使用select元素的onchange事件来传递对象而不是字符串?C#:使用对象数组而不是字符串的正则表达式如何在JavaScript中使用名称为对象的字符串将对象作为参数传递?如何在curl参数中使用序列化的JSON而不是JSON对象传递字符串如何在Java中使用另一个类的返回字符串?在C#中使用接口而不是继承时覆盖另一个类的虚方法?如何在基于类的视图或函数视图中使用管理器指定的对象,而不是默认对象?如何在c#中使用堆叠在字符串中的名称重命名.txt文档?如何在flutter中使用来自另一个类的字符串数据Javascript:如何在字符串对象中的两个对象之间添加逗号,而不是最后一个对象如何使用regex从以下字符串中以对象格式(而不是POJO )仅获取给定字符串中的字段名称当字段被字符串名称引用时,如何在通用对象上获取字段的类如何在Popen字符串中使用file对象作为参数(文件只是一个变量,而不是一个实际的文件)如何在C#中使用"System.Runtime.Serialization.Json“类反序列化带有字符串数组的JSON?如何在PHP中使用正则表达式来匹配整个字符串中的给定组,而不是在第一个匹配时停止
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

在 C# 中使用 Span 和 Memory 编写高性能代码

在本文中,将会介绍 C# 7.2 中引入的新类型:Span 和 Memory,文章深入研究 Span 和 Memory ,并演示如何在 C# 中使用它们。...与 Span 不同,它没有仅限于堆栈的约束,因为它不是类似于 ref 的类型。因此,开发者可以将它放在堆上,在集合中或异步等待中使用它,将它保存为字段或装箱,就像对待任何其他 C# 结构一样。...现在请参考下面的字符串,其中包含由空格字符分隔的国家名称。...开发者需要一个高性能的解决方案。如果使用 String 类的 Substring 方法,就会创建许多字符串对象,这也会降低应用程序的性能。最好的解决方案是在这里使用 Span 来避免分配。...前者使用 String 类的 Substring 方法检索最后一个国家名称,而后者使用 Slice 方法提取最后一个国家名称。

3.1K10

编写干净的C#代码技巧

通过这种方式,我们构建了可重用的函数。而且,如果需要进行任何修改,您只需要更改共享库中的代码,而不是在任何地方更改。 保持类尽可能小 根据Solid原则,您必须将类隔离为只有一个职责函数的小块。...换句话说,不要在应用程序中使用硬编码的字符串或值。当应用程序增长时,跟踪这些字符串是很困难的。此外,这些字符串可以与某种外部引用相关联,如文件名、文件路径、URL等。...宁愿使用Git而不是注释掉代码。 使用方法链接 这是Microsoft在默认生成代码中广泛使用的一种常见技术。在这里,每个方法返回一个对象,这些函数将被链接在一起。认识吗?...我们有一个student类和另一个创建并返回数据填充student对象的随机方法。...这个操作符在C#中称为Null合并操作符。 考虑另一个例子,下面是一个接受Student对象作为参数并检查空对象的小函数。如果为空,返回一个带有数据的新对象,否则返回相同的对象。

25230
  • C#3.0新增功能09 LINQ 标准查询运算符 04 运算

    Enumerable.ReverseQueryable.Reverse 查询表达式语法示例 主要排序示例 主要升序排序 下面的示例演示如何在 LINQ 查询中使用 orderby 子句按字符串长度对数组中的字符串进行升序排序...LINQ 查询中使用 orderby descending 子句按字符串的第一个字母对字符串进行降序排序。...下面是单向关系的一个示例:Customer 类有一个类型为 City 的属性,但 City 类没有作为 Customer 对象集合的属性。...用关系数据库术语表达,就是说 Join 实现了内部联接,这种联接只返回那些在另一个数据集中具有匹配项的对象。...Enumerable.ToArray、Enumerable.ToDictionary、Enumerable.ToList 和 Enumerable.ToLookup方法可用于强制执行即时的查询,而不是将其推迟到枚举该查询时

    9.7K20

    .NET周刊【10月第2期 2024-10-13】

    终结机制并不等同于垃圾回收,而是用于处理对象持有的非托管资源。例子中展示了HttpClient在没有终结机制时可能导致资源未释放的问题,并通过代码示例说明了终结器的实用性和实现方式。...C#|.net core 基础 - 删除字符串最后一个字符的七大类N种实现方式 https://www.cnblogs.com/hugogoos/p/18453906 文章介绍了删除字符串最后一个字符的多种实现方法...第一类方法使用字符串自带方法,如Substring、范围运算符、Remove和Create。测试显示Remove性能最佳。第二类使用StringBuilder,特别是Length方法表现优越。...第三类方法涉及字符串与数组之间的转换,如For方法、Array.Resize和CopyTo方法。...由C#开发,解决其它工具无法满足的特定需求,完全免费且开源。主要功能包括名称混淆、控制流混淆、字符串和资源加密等。

    9710

    2022年Unity 面试题 |五萬字 二佰道| Unity面试题大全,面试题总结【全网最全,收藏一篇足够面试】

    如果是处理字符串的话,用string中的方法每次都需要创建一个新的字符串对象并且分配新的内存地址,而 stringBuilder 是在原来的内存里对字符串进行修改,所以在字符串处理 方面还是建议用stringBuilder...类,StringBuilder 类的原理是首先在内存中开辟一定大小的内存空间,当对此 StringBuilder 类对象进行更改时, 如果内存空间大小不够, 会对此内存空间进行扩充,而不是重新创建一个对象...然后可以将该委托对象传递给可调 用所引用方法的代码,而不必在编译时知道将调 用哪个方法。与C或C++中的函数指针不同,委托 是面向对象,而且是类型安全的。...这个返回的IEnumerator对象既不是集合类对象,也不是集合的元素类对象,它是一个独立的类对象。...泛型类不是实际的类,而是类的模板 从泛型类型创建实例 声明泛型类型》通过提供【真实类型】创建构造函数类型》从构造类型创建实例 类 泛型类型参数 性能:泛型不会强行对值类型进行装箱和拆箱,或对引用类型进行向下强制类型转换

    23.9K1731

    苏州同程旅游学长给我的全面的面试知识库

    3、用示例说明C#中的注释类型 单线 例子: //This is a single line comment Ii.多行(/ * * /) 例子: /*This is a multiple line...7、定义构造函数 构造函数是与该类具有相同名称的类中的成员函数。每当创建对象类时,都会自动调用构造函数。它在初始化类时构造数据成员的值。 8、什么是锯齿状阵列? 具有数组类型元素的数组称为锯齿数组。...作为ref传递的参数必须在传递给方法之前进行初始化,而out参数在传递给方法之前无需进行初始化。 10、C#中“ using”语句的用途是什么?...14、什么是接口类?举一个例子 接口是仅具有公共抽象方法的抽象类,并且这些方法仅具有声明而不具有定义。这些抽象方法必须在继承的类中实现。...委托是必需的,因为它们可用于编写更多通用的类型安全函数。 34、如何在C#中将一个类继承到其他类? 冒号在C#中用作继承运算符。只需放置一个冒号,然后放置类名。

    3K20

    C#语法——反射,架构师的入门基础。

    可以使用反射动态创建类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其字段和属性。如果代码中使用了属性,可以利用反射对它们进行访问。 看不懂?...没关系,我们把它翻译成人类可理解的语言。 C#编程语言中,最常使用的是类和类中的函数和属性。正向调用的方法是,创建类,然后用类创建一个对象。接下来就可以用这个对象调用类中的方法和属性了。...而反射,就是相对于这种正向调用的存在。即,它是反向调用。 反射可以通过类名的字符串来创建类,可以通过函数名的字符串和属性名的字符串,来调用类下的函数和属性。...会有这种问题的同学,先别着急,继续往下看,反射既然存在,就必然有存在的道理。 反射的基础应用 1,类反射 先看下面代码;代码为通过类名称的字符,反射出类的对象。...没关系,换个表达,Assembly.Load指定了命名空间的名称,所以反射时,会去这个命名空间里找类,这样是不是就好理解了。

    20030

    C#语法——反射,架构师的入门基础。

    可以使用反射动态创建类型的实例,将类型绑定到现有对象,或从现有对象获取类型并调用其方法或访问其字段和属性。如果代码中使用了属性,可以利用反射对它们进行访问。 看不懂?...没关系,我们把它翻译成人类可理解的语言。 C#编程语言中,最常使用的是类和类中的函数和属性。正向调用的方法是,创建类,然后用类创建一个对象。接下来就可以用这个对象调用类中的方法和属性了。...而反射,就是相对于这种正向调用的存在。即,它是反向调用。 反射可以通过类名的字符串来创建类,可以通过函数名的字符串和属性名的字符串,来调用类下的函数和属性。...会有这种问题的同学,先别着急,继续往下看,反射既然存在,就必然有存在的道理。 反射的基础应用 1,类反射 先看下面代码;代码为通过类名称的字符,反射出类的对象。...没关系,换个表达,Assembly.Load指定了命名空间的名称,所以反射时,会去这个命名空间里找类,这样是不是就好理解了。

    1.2K00

    使用 Visual Studio 创建 .NET 控制台应用程序

    本教程演示如何在 Visual Studio 2022 中创建和运行 .NET 控制台应用程序。...在最新版本的 C# 中,名为顶级语句的新功能允许你省略 类和 Main 方法。 大多数现有 C# 程序不使用顶级语句,因此本教程不使用此新功能。...但它在 C# 10 中可用,是否在程序中使用它是样式首选项的问题。 运行应用 按 Ctrl+F5 运行程序而不进行调试。 此时会打开一个控制台窗口,其中显示了文本“Hello World!”。...替代方法是在 C# 中使用 \n 和在 Visual Basic 中使用 vbCrLf。 字符串前面的美元符号 ($) 使你可以将表达式(如变量名称)放入字符串中的大括号内。...表达式值将代替表达式插入到字符串中。 此语法称为内插字符串。 按 Ctrl+F5 运行程序而不进行调试。 出现提示时,输入名称并按 Enter 键。 按任意键关闭控制台窗口。

    4.5K20

    FreeMarker与JSP 2.0 + JSTL组合进行比较

    那么FreeMarker会知道你并不是用相同的符号表示运算符。这可以在您指定非引号标识符的地方,如宏和函数名称,参数名称以及所有类型的变量引用。(请注意,这些转义仅适用于标识符,而不是字符串文字。)...喜欢foo.bar(nullArg) 将调用bar方法 null作为参数,假设没有变量存在与“ 18.如何在表达式中使用指令(宏)的输出(作为另一个指令的参数)?...,而不是字符X? 这是因为您要打印的字符不能用输出流使用的字符集(编码)来表示,所以Java平台(而不是FreeMarker)用问号替换有问题的字符。...虽然 new不会实例化不是TemplateModel-s的TemplateModel类,FreeMarker包含一个 可以用于创建任意Java对象的类。...在我的基于Servlet的应用程序中,如何在模板处理过程中发生错误时,如何显示一个漂亮的错误页面而不是堆栈跟踪?

    5.5K40

    面向 JavaScript 开发人员的 ECMAScript 6 指南(3):JavaScript 中的类

    得益于 new 关键词,它似乎在语法上类似于过去常常在 Java 或 C++ 中看到的语法。 事实上,JavaScript 不是基于类的环境,而是一个基于对象的环境。...如果您不熟悉或仅偶尔参与面向对象的开发,JavaScript 可能对您无关紧要,但理解它们的区别仍然很重要。在基于对象的环境中,不存在类。每个对象是从另一个现有对象克隆而来的,而不是来自类。...结果字符串 var obj = {};console.log(obj.toString()); // prints "[object Object]" 当解释器寻找 toString 作为 obj 对象上的名称时...如果有助于您更快地解释该概念,可以尝试将 ECMAScript 中的类视为类型对象:为提供类型定义的外观而存在的对象实例。...静态属性和字段 如果不考虑回避 对面向对象的讨论,任何面向对象的讨论都是不完整的。当开始在代码中使用类时,知道如何处理全局变量和/或函数至关重要。

    67240

    C#中的正则匹配和文本处理

    现在一起来看看如何在C#中使用正则表达式以及它们是多么的有用。..."); } Console.ReadLine(); } 接下来要讨论如何用Replace 方法把一个字符串用另一个字符串来替换....稍后在讨论分组构造时将会研究使用空白字符类。 5、用断言修改正则表达式 C#包含一系列可以添加给正则表达式的运算符. 这些运算符可以在不导致正则表达式引擎遍历字符串的情况下改变表达式的行为...."; //表示特殊正则表达式的\b要写两根斜杠, 也就是告诉C#你要输入的是斜杠本身, 而不是要输入转义字符 string Regexp = "\\bh"; 这个正则表达式与字符串中的单词"hark...现在要来修改一下这个程序, 使得此程序寻找日期而不是年龄, 而且用分组构造来组织日期。

    2.6K41

    如何在 C# 9 中使用record类型?

    本文讨论了我们如何在 C# 9 中使用 init-only 属性和record类型。 要使用本文中提供的代码示例,您应该在系统中安装 Visual Studio 2019。...在 C# 9 中使用 init-only 属性 init-only属性是那些只能在对象初始化时赋值的属性。请参阅以下包含 init-only 属性的类。...dbMetadata.DbType = "SQL Server"; 在 C# 9 中使用record类型 C# 9 中的record类型是仅具有只读属性的轻量级、不可变数据类型(或轻量级类)。...9 中使用 with 表达式 如果某些属性具有相同的值,您可能经常希望从另一个对象创建一个对象。...record本身是一种引用类型,但它使用自己的内置相等性检查——相等性是通过值而不是引用来检查的。最后,请注意record可以是可变的,但它们主要是为不变性而设计的。

    1.9K10

    如何在 C# 9 中使用record类型?

    本文讨论了我们如何在 C# 9 中使用 init-only 属性和record类型。 要使用本文中提供的代码示例,您应该在系统中安装 Visual Studio 2019。...在 C# 9 中使用 init-only 属性 init-only属性是那些只能在对象初始化时赋值的属性。请参阅以下包含 init-only 属性的类。...dbMetadata.DbType = "SQL Server"; 在 C# 9 中使用record类型 C# 9 中的record类型是仅具有只读属性的轻量级、不可变数据类型(或轻量级类)。...9 中使用 with 表达式 如果某些属性具有相同的值,您可能经常希望从另一个对象创建一个对象。...record本身是一种引用类型,但它使用自己的内置相等性检查——相等性是通过值而不是引用来检查的。最后,请注意record可以是可变的,但它们主要是为不变性而设计的。

    2.5K20

    C#开发人员应该知道的13件事情

    对于这些情况,你可能需要添加事件的处理程序,如ThreadException或UnhandledException,而不是使用catch块。...不要锁定“this”,字符串或其他常见的公共对象 当实现在多线程上下文中使用的类时,要非常小心使用锁。锁定此字符串或其他公共对象,会阻止封装锁定状态,并可能导致死锁。...忽略保存返回值 与结构体不同,类是引用类型,方法可以修改引用的对象。然而,不是所有的对象方法都实际修改了引用的对象,一些会返回一个新对象。...就像这样: myInts.RemoveAll(item => (item < 10)); 属性名称错误 在实现属性时,请注意属性名称不同于类中使用的数据成员。...例如,WPF中的数据绑定,会将属性名称指定为字符串。如果不小心更改该属性名称,你将会无意中创建了一个编译器无法防护的问题。 以上就是所有C#开发人员应该知道的13件事情。

    2.3K90

    Enterprise Library 4 数据访问应用程序块

    数据访问应用程序块的另一个特性是,应用程序代码可以由一个 ADO.NET 连接字符串的名字,如"Customer" 或者 "Inventory" ,而引向一个特定的数据。...然后,在关键场景中,解释了如何在特定场景中使用应用程序块,例如获取单个项或者使用 DataSet 对象获取多行。最后,在开发任何细节中,给出了关于如连接管理、参数处理和处理异常等方面的更多信息。...也可以使用工厂用保存在另一个配置源中的连接字符串构建一个 Database 对象。必须使用另一个默认配置源来配置应用程序,以允许工厂用保存在那个配置源中的连接字符串创建对象。...使用实例 要使用实例,可以通过逻辑名称在应用程序代码中引用 database ,并且修改数据库配置信息(如位置或连接字符串信息)而不用重新编译代码。...OLE DB 提供程序使用顺序来执行存储过程而不是名称,所以以正确的顺序添加集合是很重要的。

    1.8K60

    10个最难回答的Java面试题

    2) 每个对象都可上锁,这是在 Object 类而不是 Thread 类中声明 wait 和 notify 的另一个原因。...清晰性是Java设计者的目标之一。设计者不是只想复制语言,而是希望拥有一种清晰,真正面向对象的语言。...字符串在 Java 中是不可变的,这点也是和C#设计类似,因为 String 对象缓存在 String 池中。...他正在接受技术主管职位的面试,并且有超过6年的经验。如果你还没有遇到过这种情况,那么字符数组和字符串可以用来存储文本数据,但是选择一个而不是另一个很难。...创建具有相同名称和方法签名的静态方法称为Java 隐藏方法。IDE 将显示警告:"静态方法应该使用类名而不是使用对象来调用", 因为静态方法不能在 Java 中重写。

    81920

    C#简单的面试题目(二)

    每次使用System.String类中的方法之一或进行运算时(如赋值、拼接等)时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。而StringBuilder则不会。...在需要对字符串执行重复修改的情况下,与创建新的String对象相关的系统开销可能会非常昂贵。如果修改字符串而不创建新的对象,则可以使用System.Text.StringBuilder类。...string str=null是不给他分配内存空间,而string str=""给它分配长度为空字符串的内存空间。 21.Asp.Net 身份验证方式有那些?分别是什么原理?...在.net下,.net引用了垃圾回收(GC)功能,它替代了程序员,不过在C#中,不能直接实现Finalize方法,而是在析构函数中调用Finalize方法。...,并没有抛出原异常对象 29.error和Exception的区别 error表示恢复不是不可能但很困难的情况下的一种严重问题。

    54710

    第2章 C#程序设计基础

    叙述C#中常用的字符串操作及其功能。...C#中使用DateTime关键字来定义日期和时间对象,其表示的范围是从公元0001年1月1日午夜 12:00:00 到公元9999年12月31日晚上11:59:59之间。...break语句用于跳出本层循环的执行。 10. 叙述C#中常用的类修饰符的名称及其含义。 ① public:public修饰的类是公共访问类,其访问权限最高,可以被任何其他类所访问。...静态字段只能通过类来访问,而实例字段只能通过对象来访问。 12. 简述C#中this关键字的特点与含义。 this关键字仅限于在类的方法和构造函数中使用。...在构造函数中出现的this表示对正在构造的对象本身的引用;在类的方法中出现的this表示对引用该方法的对象的引用。 13. 叙述C#中使用扩展方法需要注意的事项。

    1.8K40

    .NET Core的一个关键特性是性能

    在这篇文章中,我们将讨论一些优化,以及如何在以后的性能工作中更多地使用连续流或Span,为我们的开发人员生活带来帮助。...另一种选择是使用System.Tuple作为返回类型,但它分配了一个对象,并且具有相当不友好的属性名称(Item1, Item2,…)。...类是在托管堆中分配的(由CLR跟踪和管理,并受垃圾收集的管制,是可变的),而值类型分配在堆栈上(速度快且较少的开销,是不可变的)。...但是,如果我们想要编写一个与所有这些内存类型兼容的库该怎么办呢? 我们必须分别为他们提供方法。一个针对托管对象,另一个针对指针指向堆栈上或非托管堆上的对象。一个很好的例子就是创建一个字符串的子字符串。...而是让我们暂时忘掉内存类型不可知的方面,并关注性能。

    72820
    领券