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

为什么我们不能直接在List<string> obj= List<string>()中添加值?

在C#中,List<string>是一个泛型集合,用于存储字符串类型的数据。在创建List<string>对象时,需要使用new关键字进行实例化,如List<string> obj = new List<string>()。

然而,不能直接在List<string> obj = List<string>()中添加值的原因是,这是一个对象的实例化语句,而不是添加元素的操作。在创建List<string>对象之后,我们需要使用Add方法来向集合中添加元素。

正确的做法是使用Add方法来添加值,例如: obj.Add("value1"); obj.Add("value2");

这样就可以将"value1"和"value2"两个字符串添加到List<string>对象中了。

List<string>是一个动态数组,它提供了许多方便的方法来操作和管理集合中的元素。通过使用Add方法,我们可以在List<string>对象中动态添加任意数量的字符串值。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云人工智能:https://cloud.tencent.com/product/ai
  • 腾讯云物联网平台:https://cloud.tencent.com/product/iotexplorer
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C#透彻解析数组、ArrayList和List的区别

Console.ReadKey(); 输出结果: 从上面例子看,ArrayList好像是解决了数组中所有的缺点,为什么又会有List?...我们从上面的例子看,在List我们不仅插入了字符串acde,而且插入了数字1234。这样在ArrayList插入不同类型的数据是允许的。...)i; 拆箱:就是从引用数据中提取值类型 比如将object对象obj的值赋给int类型的变量i object obj=”abc”; int i=(string)obj; 装箱与拆箱的过程是很损耗性能的...//移除数据 list.RemoveAt(0); 上例,如果我们List集合插入int数组123,IDE就会报错,且不能通过编译。...补充: 用ArrayList对哈希表进行排序 对哈希表进行排序在这里的定义是对key/value键值对的key按一定规则重新排列,但是实际上这个定义是不能实现的,因为我们无法直接在Hashtable

1.3K30
  • 详解 Java 泛型

    有一个著名的面试题:假设有定义以下类,问能不能成功编译和运行 public class Test { public void test(List listStr) { }...泛型名称 第二个红框,标明了这个泛型类的泛型参数名称,这里是 TT,为什么会有两个 T 呢?...这个结果小伙伴们仔细思考一下不难理解:Template 类 obj 字段为 Object,我们使用 String 类型的引用来承接 template.getObj() 方法的返回结果对象。...我们不能再向 list1 这个容器 add 任何元素了!为什么呢。因为编译器并不知道实际类型是什么(因为你给了编译器一个问号),所以你 add 任何类型的对象都会报类型不兼容的语法错误。...抱歉,编译器不会这么做,除非在 “实在没有办法” 的情况,例: Object obj = list1.get(0); 为什么把调用 list1 的 get 方法叫 “实在没有办法” 的情况呢?

    91820

    Java关键字——instanceof

    在 JavaSE规范 对 instanceof 运算符的规定就是:如果 obj 为 null,那么将返回 false。...6、问题   前面我们说过编译器会检查 obj 是否能转换成右边的class类型,如果不能转换则直接报错,如果不能确定类型,则通过编译,具体看运行时定。...>);//false System.out.println(p1 instanceof List);//编译报错   按照我们上面的说法,这里就存在问题了,Person 的对象 p1 很明显不能转换为...String 对象,那么自然 Person 的对象 p1 instanceof String 不能通过编译,但为什么 p1 instanceof List 却能通过编译呢?...所以对于上面提出的问题就很好理解了,为什么 p1 instanceof String 编译报错,因为(String)p1 是不能通过编译的,而 (List)p1 可以通过编译。

    1.9K70

    ⭐️C# 零基础到进阶⭐️| 字典和列表 相互嵌套使用 的终极总结!

    字典 字典的含义: 字典key只能对应一个值不能对应多个值,线性结构。...如果我们有许多类型一样但数量不定的数据,我们可以使用集合类来进行管理——例如列表List我们可以使用列表List很方便的添加数据,删除数据以及其他的一些数据操作。...{ Console.WriteLine(list[i]);//遍历打印链表的值 } 使用方法 添加:list.Add(key)给字典添加值...而列表的元素则是我们添加进去的、需要管理的数据,通过Count进行获取。...总结 字典和列表 相互嵌套使用 的几种方式,包括实例讲解,应该没有被绕晕吧,这只是介绍了双层嵌套使用 更多层的嵌套使用方法类似,就一套用就好了,遍历的时候多次循环使用就好啦! 今天你学废了吗!

    2.6K30

    JavaBean,为什么要重写hashCode()方法和equals()方法及如何重写

    一、我们为什么需要重写hashCode()方法和equals()方法?(Why) 有时在我们的业务系统判断对象时有时候需要的不是一种严格意义上的相等,而是一种业务上的对象相等。...在这种情况下,原生的equals方法就不能满足我们的需求了....我们所知道的JavaBean的超类(父类)是Object类,JavaBean的equals方法是继承自Object的方法.Object类定义的equals()方法是用来比较两个引用所指向的对象的内存地址是否一致...Object类equals()方法的源码 public boolean equals(Object obj) { return (this == obj); } public class...(When) 当我们自定义的一个类,想要把它的实例保存在以Hash散列查找的集合时,我们就需要重写这两个方法; public class Student { private String name;

    95630

    面试问题之:JSON是什么?

    XML也是一种数据交换格式,为什么没有选择XML呢?...对象如图: image.png 3,修改JSON的数据 我们现在要修改JSONcount的值,代码如下: function Update() { obj.count = 10...image.png 4,删除JSON的数据 我们现在实现从JSON删除count这条数据,代码如下: function Delete() { delete obj.count...5,遍历JSON对象 可以使用for…in…循环来遍历JSON对象的数据,比如我们要遍历输出obj对象的值,代码如下: function Traversal() { for (...比如,现在我们有一个TStudent的学生表,表的字段和已有数据如图所示 image.png 从表我们可以看到一共有五条数据,现在我们要从数据库取出这些数据,然后利用JSON.NET的JsonConvert

    1.8K20

    线程sleep,wait,notify,join,yield方法解析

    list = new ArrayList(); public void add() { list.add("abc"); }...public int getSize() { return list.size(); } } 以上,就是创建一个t2线程,判断list长度是否为5,不是的话,就一阻塞。...然后,另外一个t1线程不停的向list添加元素,当元素长度为5的时候,就去唤醒阻塞的t2线程。 然而,我们会发现,此时的t1线程会继续往下执行。直到方法执行完毕,才会把锁释放。...(因为,我们知道,正常情况下,调用start方法之后,是不能控制线程的执行顺序的) 咳咳,当前青涩的我,面试时就被问到这个问题,是一脸懵逼。...既然yield不释放锁,那为什么还要放弃执行权呢。就算放弃了执行权,别的线程也无法获得锁啊。) 所以,我的理解,yield一般用于不存在锁竞争的多线程环境

    2.2K20

    深入理解 Java 泛型

    为什么需要泛型 JDK5 引入了泛型机制。 为什么需要泛型呢?回答这个问题前,先让我们来看一个示例。...Object obj1 = list.get(0); Object obj2 = list.get(1); Object obj3 = list.get(2);...假设,最初我们希望向 List 存储的是整形数据,假设,某个家伙不小心存入了其他数据类型。当你试图从容器取整形数据时,由于 List 当成 Object 类型来存储,你不得不使用类型强制转换。...比如 T get() 方法声明就变成了 Object get() ;List 就变成了 List。如有必要,插入类型转换以保持类型安全。 生成桥接方法以保留扩展泛型类型的多态性。...通配符和向上转型 前面,我们提到:泛型不能向上转型。但是,我们可以通过使用通配符来向上转型。

    41420

    Collection与Collection

    说到为什么在不明确类型的情况下不能允许写操作,那是为了运行期的安全,举个例子: public void testGenerics2() { List integers = new...为什么Collection不是表示任意类型呢,其实也是编译器认为这里有类型转换错误的风险: public void testGenerics4() { List编译器是不允许往里面丢数据的,因为不知道List到底是哪种数据类型的集合,不能obj instanceof UnknownType判断; ?...才是表示未知类型,Object表示的是已知类型; 如果List表示任意类型,按照墨菲定律(可能会发生的事必然会发生),那么上面例子的crash是必然会发生的。。...(又是一个线上故障) 后记: 很久没发声了,一想写点赞搜索架构设计的小心得,然而才动了几个字,先来点随笔填填空虚。

    43020

    【c++】 C语言的输入与输出&&C++的IO流&&STL空间配置器

    1.C语言的输入与输出 C语言中我们用到的最频繁的输入输出方式就是scanf ()与printf() scanf(): 从标准输入设备(键盘)读取数据,并将值存放在变量 printf(): 将指定的文字...但如果是字符型和字符串,则空格(ASCII码为32)无法用cin输入,字符串不能有空格。...虽然在常规使用STL时,可能用不到它,但站在学习研究的角度,学习它的实现原理对我们有很大的帮助 6.为什么需要空间配置器 前面在模拟实现vector、list、map、unordered_map等容器时...为什么? 对用户归还的空间能否直接拼接在大块内存前? 对用户归还的空间如何进行管理? 不断切割会有什么后果?...nobjs) return(chunk); // 找到对应的桶号 my_free_list = free_list + FREELIST_INDEX(n); // 将第一块返回值用户,其他块连接在对应的桶

    9910

    Java 泛型示例 - 泛型方法,类,接口

    Java Genrics 是 Java 5 引入的最重要的功能之一。 如果您一在使用Java Collections并使用版本 5 或更高版本,那么我确定您已经使用过它。...String str=(String) obj; } 上面的代码可以很好地编译,但是在运行时会引发ClassCastException,因为我们试图将列表的对象强制转换为String,而其中一个元素是...在多个范围内,我们不能有多个类。 7. Java泛型和继承 我们知道,如果A是B的子类,则Java继承允许我们将变量A分配给另一个变量B。...是泛型的通配符,表示未知类型。通配符可以用作参数,字段或局部变量的类型,有时还可以用作返回类型。在调用通用方法或实例化通用类时,不能使用通配符。...> list){ for(Object obj : list){ System.out.print(obj + "::"); } } 我们可以为PrintData方法提供List <String

    2.6K50

    DDD实战进阶第一波(六):开发一般业务的大健康行业直销系统(实现产品上下文仓储与应用服务层)

    c.上一个说法,可能大家有两个疑惑,一是为什么不使用productdbcontext标记ProductSPU为Added状态,而是使用.Add方法,二是为什么只是完成了添加状态, 而不再后续调用Commit...首先,因为未来持久化要将这个聚合的ProductSPU聚合根与ProductSKU实体作为一个整体持久化到数据库, 而Added状态只能将当前聚合根作为添加状态,而不能同时将引用的ProductSKU...对象作为添加状态,所以不能使用Added状态而使用.Add方法;其次仓储实现聚合提交时,只进行数 据库预,是因为协调领域逻辑与仓储的应用服务层用例可能涉及到多个聚合,所以可能要同时调用多个领域对象的业务逻辑...string SPUName { get; set; } public string SPUDesc { get; set; } public List...SKUSpecs { get; set; } public List SKUUnits { get; set; } public List<decimal

    55730
    领券