String 我被这段代码困住了,为什么';这不管用吗?
为什么这段代码没有给我正确的输出?我在等你 要解压缩的输出TXT=aa” 我输入了02a(文本) “函数‘Compressdata’未在所有代码路径上返回值。空值。” 使用结果时,可能会在运行时发生引用异常。“ 预期结果:String 我被这段代码困住了,为什么';这不管用吗?,string,vb.net,strdup,String,Vb.net,Strdup,为什么这段代码没有给我正确的输出?我在等你 要解压缩的输出TXT=aa” 我输入了02a(文本) “函数‘Compressdata’未在所有代码路径上返回值。空值。” 使用结果时,可能会在运行时发生引用异常。“ 预期结果:decomptxt=aa 这是我的代码: x = 0 For i As Integer = 1 To Len(RLEText) Dim st As String = RLEText NoChars = st.Substring(x, 2)
decomptxt=aa
这是我的代码:
x = 0
For i As Integer = 1 To Len(RLEText)
Dim st As String = RLEText
NoChars = st.Substring(x, 2)
Chars = st.Substring(x + 2, 1)
decomptxt = String.Join("", Enumerable.Repeat(Chars, NoChars))
Return decomptxt
x = x + 3
设置Option Strict On和Option Explicit On,纠正代码的错误(例如,
NoChars=Convert.ToInt32(st.Substring(x,2))
),然后发布整个过程(一个Return
语句意味着一个函数,那么x=x+3
在那里做什么?它是不可访问的。等等),将i作为整数=1到Len(RLEText)Dim st As String=RLEText NoChars=Convert.ToInt32(st.Substring(x,2))Chars=st.Substring(x+2,1)decomptxt=String.Join(“,Enumerable.Repeat(Chars,NoChars))Return decomptxt我对编程不熟悉,这是我的第一个项目。所以我不完全理解如何解决这个问题。例如,如果输入RLEText=02a,则decomptxt应为aa,如果输入RLEText=04w,则decomptxt应为wwww,谢谢您的帮助!你最好编辑你的帖子,而不是在评论中添加代码之类的东西……很明显,你是新手,这就是为什么我建议将选项设置为Strict
和选项Explicit On
(你可以在Compile
面板的项目属性中找到这些设置)。设置这些选项非常重要。您可以使用Visual Studio的常规设置(Tools->Option->Project and Solutions->VB defaults
)执行相同的操作。一旦您这样做了,您需要纠正的内容也会很清楚,并且您的方法将返回您期望的结果。尽管如此,还是将整个代码编辑(见链接)张贴在你的问题上。你的代码中有红色的曲线吗?将光标悬停在曲线上,找出问题所在并进行修复。所有的块都需要下一个。代码中的下一个在哪里?您是否尝试过在SO页面上单击“编辑”?“共享编辑关闭标志”标签下方有一行,您可以添加或更改您的问题。