Lua 테이블을 C# 바이트 배열로 변환하려고합니다. (error object is not a string)
테이블을 바이트 배열로 변환
I : 그러나
> require 'CLRPackage'
> import "System"
> tbl = {11,22,33,44}
> dbl_arr = Double[4]
> dbl_arr:GetValue(0)
> dbl_arr:GetValue(1)
> for i=0,3 do Console.WriteLine(dbl_arr:GetValue(i)) end
0
0
0
0
> for i,v in ipairs(tbl) do dbl_arr:SetValue(v,i-1) end
> for i=0,3 do Console.WriteLine(dbl_arr:GetValue(i)) end
11
22
33
44
>
을 나는 dbl_arr
Byte
배열 (dbl_arr = Byte[4]
), 나는 다음과 같은 오류 얻을로 변경하는 경우 : I는 다음과 같이 작동하는 두 배열에 변환을 얻을 수 있었다 행운을 빌어 다른 것들을 잔뜩 시도했습니다. 어떤 도움을 주시면 감사하겠습니다.
업데이트 :이 작업을 수행하여 오류에서 좀 더 많은 정보를 얻을 수 있었다
:
suc,err = pcall(function() byte_arr:SetValue(12,0) end)
이제 suc
은 거짓이며, err
반환 다음과 같은 메시지 :
SetValue failed
System.ArgumentException: Cannot widen from source type to target type either
because the source type is a not a primitive type or the conversion cannot
be accomplished.
at System.Array.InternalSetValue(Void* target, Object value)
at System.Array.SetValue(Object value, Int32 index)
here에서 luaforwindows를 설치했습니다. 버전 5.1.4-45입니다. 나는 마이크로 소프트 윈도우 XP 프로페셔널 버전을 실행하는거야 2002 서비스 팩 3
업데이트 :
이 예제 코드는 에러가
> require 'CLRPackage'
> import "System"
> tbl = {11,22,33,44}
> dbl_arr = Byte[4]
> for i,v in ipairs(tbl) do dbl_arr:SetValue(v,i-1) end <-- Error occurs here
경우'에서 오는 dbl_arr'는 무엇입니까? –
@Nicol - 내가 만든 Double 배열입니다.'dbl_arr = Double [4]' – SwDevMan81
충분히 정교합니다. 나는 Double [4]의 출처를 의미했다. []를 사용하여 객체를 만드는 데 일종의 metatable을 사용하고 있습니까? –