c#中 输入一个字符串,判断该字符串的长度,要求不得使用string.Length属性

家里有蜘蛛 2019-07-28 06:07:32

主要是循环结束条件是什么,有代码最好
...全文
2949 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
qzyljz 2019-08-06
  • 打赏
  • 举报
回复
把string看成char的数组
朱帝11 2019-08-01
  • 打赏
  • 举报
回复
byte [] sarr = System.Text.Encoding.Default.GetBytes(s); len = sarr.Length;
  • 打赏
  • 举报
回复
有length不用,这不闲的蛋疼?可以查源代码怎么实现length
家里有蜘蛛 2019-07-31
  • 打赏
  • 举报
回复
引用 33 楼 weixin_45474811的回复:
循环获得字符串结尾\0
这是c # 不是c。。。
weixin_45474811 2019-07-31
  • 打赏
  • 举报
回复
循环获得字符串结尾\0
weixin_42855028 2019-07-30
  • 打赏
  • 举报
回复
有现成方法为何不用?
xiaoxiangqing 2019-07-30
  • 打赏
  • 举报
回复
楼上是java语法吧
足球中国 2019-07-30
  • 打赏
  • 举报
回复
引用 26 楼 hhhh63 的回复:
循环结束的条件是字符0
C# 允许是零的字符的
hztltgg 2019-07-29
  • 打赏
  • 举报
回复
引用 17 楼 梦想﹑执着、追求 的回复:
[quote=引用 16 楼 hztltgg 的回复:] [quote=引用 楼主 梦想﹑执着、追求 的回复:] 主要是循环结束条件是什么,有代码最好
是作业题或者考试题么,先看看到底考点是什么,要是现实中的题目么,不是你理解错,就是扯淡了。[/quote] 写一个类似于Length的方法判断字符串长度[/quote] 作业吗?确定学的是c#,不是c也不是c++? c#的Length内部实现并不暴露,字符串的实现都已经各种特殊处理了,你压根没有“类似于”这个概念。 "abc" 是一个String类的实例,你要写一个方法获取这个实例内部的一个细节,本身就违背了类的封装理念。 你只能通过属性问这个类他的细节,比如问长度都是就是Length,其他方法不过是多此一举的将他转换为字符串数组甚至字节数组统计长度,没有意义。 你要真实现一个length的方法,就应该自己实现自己的字符串类,那么你就有细节可以写length的方法了。
wanghui0380 2019-07-29
  • 打赏
  • 举报
回复
另外你的分清是字符长度还是字节长度
wanghui0380 2019-07-29
  • 打赏
  • 举报
回复
这是考你迭代器 foreach 就成 当然深化点可以考C# 中的GetEnumerator ,MoveNext() 不过也就是考考,实际上长度本身是一个内部值,你每次要求长度用迭代器,那不是浪费时间,给个1亿字符,迭代1一次,你还想不想干活了 所以,放弃把。这种题目就神他妈问题,把这种问题当宝贝的面试官,也属于没事找事型。(当然如果就是想知道你知道不知道迭代器,到无所谓,如果把这种玩意当啥高级技术,神奇宝贝,那就属于找抽了)
家里有蜘蛛 2019-07-29
  • 打赏
  • 举报
回复
引用 16 楼 hztltgg 的回复:
[quote=引用 楼主 梦想﹑执着、追求 的回复:] 主要是循环结束条件是什么,有代码最好
是作业题或者考试题么,先看看到底考点是什么,要是现实中的题目么,不是你理解错,就是扯淡了。[/quote] 写一个类似于Length的方法判断字符串长度
hztltgg 2019-07-29
  • 打赏
  • 举报
回复
引用 楼主 梦想﹑执着、追求 的回复:
主要是循环结束条件是什么,有代码最好
是作业题或者考试题么,先看看到底考点是什么,要是现实中的题目么,不是你理解错,就是扯淡了。
ximu_sunny 2019-07-29
  • 打赏
  • 举报
回复
for(char c:string)
听雨停了 2019-07-29
  • 打赏
  • 举报
回复

            string str = "1234";
            int i = 0;
            foreach (var item in str)
            {
                i++;
            }
            Console.WriteLine(i);
  • 打赏
  • 举报
回复
var asd = "acv1456我"; var c= asd.ToCharArray(); int iss = 0; foreach (var item in c) iss++;
hhhh63 2019-07-29
  • 打赏
  • 举报
回复
循环结束的条件是字符0
货郎大叔 2019-07-29
  • 打赏
  • 举报
回复
SSS.ToList<Char>().Count()
XBodhi. 2019-07-29
  • 打赏
  • 举报
回复
还有就是反射 或 Emit ,最终还是要走到 中间语言的。托管代码封装的属性,没有给你提供接口。
XBodhi. 2019-07-29
  • 打赏
  • 举报
回复
 class Program
{
static void Main(string[] args)
{
byte[] buffer = Encoding.UTF8.GetBytes("testStr");
Console.WriteLine(buffer.Length);
}
}
加载更多回复(15)

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧