C# 实现获取字符串数组中最长/最短长度的方法

0 下载量 191 浏览量 更新于2024-09-01 收藏 427KB PDF 举报
"这篇文章主要介绍了C#如何实现获取字符串数组中元素最长或最短的长度。通过创建特定的类和方法,可以有效地找到数组中字符最多的或最少的字符串的长度。" 在C#编程中,有时我们需要找出字符串数组中元素的最长或最短长度。下面的示例提供了一个解决方案,通过定义两个类`Class6`和`Class7`来实现这个功能。 首先,我们创建一个名为`Class6`的类,这个类有两个属性:`ElementValue`存储字符串值,`ElementLength`返回字符串的长度。`ElementLength`属性利用C#的自动属性功能,根据`ElementValue`的长度计算结果: ```csharp class Class6 { private string _elementValue; public string ElementValue { get { return _elementValue; } set { _elementValue = value; } } public int ElementLength { get { return ElementValue.Length; } } public Class6(string v) { ElementValue = v; } } ``` 接着,我们创建`Class7`类,它包含一个`Class6`对象的列表`Elements`,以及两个方法:`Add`用于向列表中添加`Class6`对象,`MaxLenth`和`MinLenth`分别用于查找列表中元素的最大长度和最小长度: ```csharp class Class7 { private List<Class6> Elements = new List<Class6>(); public void Add(Class6 c6) { Elements.Add(c6); } public int MaxLenth() { int max = int.MinValue; foreach (Class6 c6 in Elements) { if (c6.ElementLength > max) { max = c6.ElementLength; } } return max; } public int MinLenth() { int min = int.MaxValue; foreach (Class6 c6 in Elements) { if (c6.ElementLength < min) { min = c6.ElementLength; } } return min; } } ``` 在实际应用中,我们可以通过以下方式使用这两个类: ```csharp string[] elements = {"adsf", "etwert", "asdfasd", "gs"}; Class7 cs = new Class7(); foreach (string s in elements) { cs.Add(new Class6(s)); } Console.WriteLine("最长长度: " + cs.MaxLenth()); Console.WriteLine("最短长度: " + cs.MinLenth()); ``` 这段代码首先创建一个字符串数组`elements`,然后创建一个`Class7`实例`cs`,将数组中的每个字符串转换为`Class6`对象并添加到`cs`中。最后,通过调用`MaxLenth`和`MinLenth`方法,输出字符串数组中元素的最长和最短长度。 然而,按照良好的编程实践,客户端代码不应直接访问`Class7`内部的`Elements`列表。为了提高封装性,可以考虑将添加元素、查找最大长度和最小长度的逻辑封装在一个静态类或者扩展方法中,这样客户端代码只需传入字符串数组即可得到结果,无需关心内部实现细节。
weixin_38704156
  • 粉丝: 6
  • 资源: 909
上传资源 快速赚钱