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

在C#中初始化IEnumerable <string>

在C#中初始化IEnumerable<string>,可以使用以下方法:

  1. 使用数组(Array)
代码语言:csharp
复制
IEnumerable<string> strings = new string[] {"string1", "string2", "string3"};
  1. 使用List<string>
代码语言:csharp
复制
IEnumerable<string> strings = new List<string> { "string1", "string2", "string3" };
  1. 使用LINQ的ToEnumerable方法
代码语言:csharp
复制
IEnumerable<string> strings = Enumerable.Range(1, 3).Select(i => "string" + i).ToEnumerable();
  1. 使用其他集合类型,如HashSet<string>、Dictionary<string, string>.Keys等
代码语言:csharp
复制
IEnumerable<string> strings = new HashSet<string> { "string1", "string2", "string3" };
代码语言:csharp
复制
IEnumerable<string> strings = new Dictionary<string, string> { { "key1", "string1" }, { "key2", "string2" }, { "key3", "string3" } }.Keys;

以上是一些常见的初始化IEnumerable<string>的方法,可以根据具体的需求选择合适的方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C# 8.0 对比 stringstring? 的类型

C# 8.0 的时候提供了可空字符串的判断,但是可空字符串和字符串的类型是不是不同的?...第一句 OutputType 的意思是输出是什么,这里选 Exe 就是输出控制台 通过 TargetFramework 可以设置平台,更多可以设置请看 从以前的项目格式迁移到 VS2017 新项目格式 ...LangVersion 设置使用的语言版本,详细请看 VisualStudio 使用三个方法启动最新 C# 功能 最后通过 NullableReferenceTypes 开启可空类型的判断 现在开始试试之前的其他可空的方法...FullName); Console.WriteLine(typeof(string) == typeof(string?)); 其实在 C# 8.0 的 string?...的类和 string 相同 System.String System.String True VisualStudio 2019 尝试使用 C# 8.0 新的方式 ---- 本文会经常更新,请阅读原文

64710

探究 C# 的 char 、 string(一)

探究 C# 的 char 、 string(一) 目录 探究 C# 的 char 、 string(一) 1. System.Char 字符 2. 字符处理 3. 全球化 4....全球化 C# System.Char 有很丰富的方法去处理字符,例如常用的 ToUpper、ToLower 。 但是字符的处理,会受到用户语言环境的影响。...字符串 驻留池是域(Domain)级别完成的,而字符串驻留池可以域中的所有程序集之间共享。 CLR 维护着一个叫做驻留池(Intern Pool)的表。...可以使用不安全代码,直接修改内存的字符串 参考 https://blog.benoitblanchon.fr/modify-intern-pool/ string a = "Test"; fixed...关于 C# 字符串的使用和驻留池等原理,请参考 http://community.bartdesmet.net/blogs/bart/archive/2006/09/27/4472.aspx 通过设法程序集中获取字符串文字的列表

69820
  • C#String和StringBuilder的区别

    String和StringBuilder的区别 String类型对象的特点: 1.它是引用类型,堆上分配内存 2.运算时会产生一个新的实例 3.String 对象一旦生成不可改变(Immutable)...二者的执行效率: 首先创建一个String对象str,并把“abc”赋值给str,然后第三行,其实JVM又创建了一个新的对象也名为str,然后再把原来的str的值和“de”加起来再赋值给新的str,...StringBuilder.AppendFormat 用带格式文本替换字符串传递的格式说明符。...StringBuilder.Remove 从当前 StringBuilder 对象移除指定数量的字符。...其实还有一个stringBuffer,可将字符串缓冲区安全的用于多个线程,可以必要时同步,所以操作就像是以串行顺序发生,该顺序与所涉及到的每个线程进行的方法调用一致。

    1.7K30

    flashC#的应用

    这个动画是Flash做的,而且嵌入到程序简直做到无缝融合,因为右键点击它也不会有那特有而烦人的Flash右键菜单。 因此将Flash融合到WinForm能够增强程序的多媒体效果和炫丽的外观。...现在我们就来看看在C#桌面程序如何插入Flash视频,而且去掉烦人的右键菜单。...首先要插入Flash就必须使用Flash控件,工具栏右键选择“选择项…”,然后“COM组件”面板下点击“浏览”按钮,本机电脑C:\WINDOWS\system32\Macromed\Flash\目录里选择...CMD里面输入如下: regsvr32 C:\WINDOWS\system32\Macromed\Flash\Flash8.ocx 系统会提示注册成功,这个时侯就可以VS2008里面使用该控件了!...该类包含各种Flash的事件和属性,在这里我们只对右键菜单的事件感兴趣,因此我们去重写该事件。

    1.7K10

    C#面向抽象编程

    “面向抽象编程”面向对象语言中是非常关键的一个概念和方法。本系列文档将结合实际用例,让读者体会到使用C#语言时,如何良好的运用这个概念和方法来编写可维护性更好的代码。...笔者希望通过本系列文章让读者对以下这些概念或问题有更进一步的认识: 接口与类 设计模式的模式原则以及常用模式 单元测试 一定要说 若想要读懂本系列教程,建议读者了解以下一些基础概念和技术 C#控制台程序的创建和调试...git C#语法内容,本系列涉及的语法知识都可以点击此处进行了解 本系列也将同样沿袭过往的文章风格,以“代码实例为主,理论解释为辅”的方式编写,尽量让读者代码事件理解内容。...系列链接 C#面向抽象编程

    1K00

    c#创建Windows服务

    在这里,我将在c# . net解释Windows服务。 1、Windows服务的介绍。 2、如何在c# . net创建Windows服务。...Windows服务自己的会话执行应用程序。它可以自动启动,也可以手动暂停、停止和重新启动。 您可以通过以下方式找到服务: 1、进入控制面板选择“服务”内部的“管理工具”。...InitializeComponent方法包含创建和初始化用户界面对象的逻辑,这些对象拖表单的表面上,并提供表单设计器的属性网格。...步骤8 在这一步,我们将实现一个计时器,并编写代码在给定的时间调用服务。我们将在文本文件创建一个简单的写操作。 ?...步骤11 命令提示符启动下面的命令并按Enter。 cd C:WindowsMicrosoft.NETFrameworkv4.0.30319 ?

    4.2K20

    防止C#滥用接口

    设计应用程序时,通常需要使用接口和抽象类。本文讨论了一些常见的“接口滥用”的例子以及我们可以用来避免它们的策略。它还讨论了“编程到接口而不是实现”这一信条的含义 什么是接口?...首先,让我们了解一下接口以及为什么在编程需要它们。接口严格来说是一个契约;它没有任何实现。接口只包含成员声明。可以有方法声明,但不能有定义。...因此,只很少需要更改接口时才使用接口。另外,创建一个新的接口通常比更改一个现有的接口要好 程序到接口,而不是实现您可能偶尔会听到“编程到接口而不是实现”这样的话。...考虑以下名为IProduct的接口 public interface IProduct { int Id { get; set; } string ProductName...IProduct接口,如下所示 public class Product : IProduct { public int Id { get; set; } public string

    1.4K10

    枚举器与迭代器

    这次我们再次来讲解一下开发人员会用但不理解的C#的知识,这篇文章我们讲解一下枚举器与迭代器的知识。...下面我们通过实际代码来看一下枚举器和可枚举对象开发的使用: static void Main(string[] args) { using (var item = "abcdefg".GetEnumerator...3.小知识 我们C#可以用一行代码完成可枚举对象的实例化和元素填充,这种方法叫做集合初始化器,代码如下: List strList = new List { "张三...同理字典也可以通过集合初始化器进行对象初始化和元素填充。 一、迭代器 1.什么是迭代器 迭代器简化了对象间的通信,使得不关心序列的类型,而获得序列的每个元素。...C#迭代器被 IEnumerator 和 IEnumerable 和其对应的泛型接口封装。

    45110

    C# 通过IEnumberable接口和IEnumerator接口实现自定义集合类型foreach功能

    如果不清楚,请参考C# foreach循环较for循环的优势与劣势 代码如下: static void Main(string[] args) { CatList cats = new CatList...原因是C#自定义集合类型要实现foreach的功能,必须通过IEnumerator和IEnumerable两个接口来实现!...第三步:具体实现 介绍完上面两个接口之后,开始具体的实现,现在需要编写一个People类,该类是一个Person集合,要求People类拥有foreach循环的功能,代码如下: public class...通过自定义集合类的构造函数,或者方法,或者属性(都可以),初始化一个类数组   !...Important 3、将初始化完的类数组作为参数传递给迭代器类 4、编写迭代器类,create 构造函数,接收自定义集合类初始化完的类数组 5、实现IEnumerator(迭代器)接口,实现对应的三个方法

    923100

    掌握 C# 变量:代码声明、初始化和使用不同类型的综合指南

    C# ,有不同类型的变量(用不同的关键字定义),例如: int - 存储整数(没有小数点的整数),如 123 或 -123 double - 存储浮点数,有小数点,如 19.99 或 -19.99...; 其中 type 是 C# 类型(例如 int 或 string),variableName 是变量的名称(例如 x 或 name)。...myText = "Hello"; C# 常量 如果您不希望其他人(或自己)覆盖现有值,可以变量类型前添加 const 关键字。...= 50; Console.WriteLine(x + y + z); 第一个示例,我们声明了三个 int 类型的变量(x、y 和 z),并为它们赋了不同的值。...第二个示例,我们声明了三个 int 类型的变量,然后将它们都赋予了相同的值 50。 C# 标识符 所有的 C# 变量都必须使用唯一的名称来标识。 这些唯一的名称被称为标识符。

    35010

    C#的枚举器(译)

    这在C# 2.0C# 1.1更容易实现一些。作为演示,我们先在 C# 1.1为一个简单的集合添加枚举,然后我们修改这个范例,使用新的C#2.0 枚举构建方法。...我们将以创建一个简单化的List Box作为开始,它将包含一个8字符串的数组和一个整型,这个整型用于记录数组已经添加了多少字符串。构造函数将对数组进行初始化并使用传递进来的参数填充它。...IEnumerable 类和与其相关的 IEnumerator类之间的关系有一点微妙。实现IEnumerator接口的最好办法是IEnumerable类里创建一个嵌套的IEnumerator类。...public object Current { get { return(lbt[index]); } } 1.1,所有想要通过foreach循环来迭代的类都需要实现IEnumerable...我以重新定义实现IEumerable的ListBox作为开始: public class ListBox : IEnumerable 这样做确定这个类可以foreach

    1.8K40

    C#的字符串, String类和StringBuilder类

    这使得处理这类应用程序的程序员字符串处理的效率问题上需要花费额外的心思. 本章会研究C#处理字符串的方法, 分析如何使用String类, 最后还会介绍如何用StringBuilder类....2、String类的应用 字符串是字符的序列. 它可以包含字母, 数字和其他符号. C#把字符序列用一对闭合的双引号包围起来就可以产生文字串....字符串声明代码的写法看上去就像一个常规的变量, 但是实际上它是创建了String的一个实例。 C#的字符串还允许字符串中放置转义字符....C#的字符串的第一个字符在位置0 上, 第二个字符则是在位置1 上, 其他则以此类推. 如果无法字符串中找到某个字符, 就返回-1。...4、字符串比较方法 C#中有几种比较String对象的方法. 最直接的就是使用等号来比较字符串是否相等.

    1.8K50

    c#关于string的特性介绍以及注意事项

    前言 string类型我们实际项目开发是一个最使用的类型,string是一个引用类型这一点大家都知道,但是实际使用过程,大家会发现string和我们常见的引用类型使用还真不一样,看下面的一个简单例子...其次:通过上面的string底层源码,我们发现,底层实现上实际上是用的char数组来实现,初始化一个字符串时,系统都已经初始化了char数组的大小。      ...string创建时都固定化了大小,并且是只读,不能修改      实际使用过程,我们对string的改变,实际上在内部是重新创建了一个新的字符串      字符串作为函数参数传递时,...,明显方式2要优于方式1   实际开发,如果对字符串对象频繁的拼接操作,建议使用StringBuilder   当然c#也有一只简化字符串拼接方式:String.Format ,其实其内部实现原理也就是...(); //// 查看编译后的代码,发现第一行代码,需要有一个装箱操作,装箱操作,需要增加不必要的内存开销,第一:需要给值类型本身分布内存,同时还要给类型指针和同板块索引分配内存开销 总结:   实际开发需要注意一下几点

    44520
    领券