如何向自定义类blob_info的StringCollection字段添加多个字符串?
给
blob_info类的StringCollection字段添加多个字符串的正确方式 嘿,我来帮你搞定这个问题!要给blob_key_col_name这个StringCollection类型的字段添加字符串,得注意两个关键点:先确保字段已实例化,然后用对应的方法添加内容。下面一步步给你讲清楚:
1. 先初始化StringCollection字段
StringCollection是引用类型,默认值是null,如果直接调用添加方法会抛出NullReferenceException。所以你需要先实例化它——最稳妥的方式是在blob_info的构造函数里完成初始化:
using System.Collections.Specialized; // 别忘了引入这个命名空间 public class blob_info { public string column_name { get; set; } public string blob_value { get; set; } public int column_pos { get; set; } public string blob_key { get; set; } public int blob_key_count { get; set; } public StringCollection blob_key_col_name { get; set; } // 补全构造函数,同时初始化blob_key_col_name public blob_info(string column_name, string blob_value, int column_pos, string blob_key, int blob_key_count) { this.column_name = column_name; this.blob_value = blob_value; this.column_pos = column_pos; this.blob_key = blob_key; this.blob_key_count = blob_key_count; // 初始化StringCollection this.blob_key_col_name = new StringCollection(); } }
如果没法修改构造函数,那在外部使用前也要先检查并实例化:
var blobInfo = new blob_info(/* 构造参数 */); if (blobInfo.blob_key_col_name == null) { blobInfo.blob_key_col_name = new StringCollection(); }
2. 添加字符串的两种方式
方式一:添加单个字符串——用Add()方法
如果是逐个添加字符串,直接调用Add()就行:
var blobInfo = new blob_info("col1", "value1", 1, "key1", 2); blobInfo.blob_key_col_name.Add("columnA"); blobInfo.blob_key_col_name.Add("columnB");
方式二:批量添加多个字符串——用AddRange()方法
如果有一组字符串(比如字符串数组),可以用AddRange()一次性添加:
string[] columnNames = new string[] {"columnX", "columnY", "columnZ"}; blobInfo.blob_key_col_name.AddRange(columnNames);
小提醒
- 别忘了引入
System.Collections.Specialized命名空间,不然StringCollection会报错; - 一定要先实例化
blob_key_col_name,否则会触发空引用异常,这是新手常踩的坑哦!
内容的提问来源于stack exchange,提问作者user3308131
相关产品推荐
相关产品推荐

