2 gyerik GYerik 于 2016.04.10 11:05 提问

c#:源数组长度不足。请检查 srcIndex 和长度以及数组的下限。
c#

图片说明
//音标序列化
charByetes=Encoding.UTF8.GetBytes(oneEWord.PhoneticSymbol);
oneEWord.lenPhnSym=charByetes.Length;
Array.Copy(charByetes, 0, charBuf, oneEWord.lenEn+12, oneEWord.lenPhnSym);
Array.Copy(charByetes, 0, charBuf, 4, 4);

参数定义:
byte[] charByetes;
byte[] charBuf=new byte[1000];
EnWord oneEWord;
public class EnWord
{
public int lenEn; //英文占据的字节长度
public string eWord;//英文单词
public int lenPhnSym;//音标占据的字节长度
public string PhoneticSymbol;//音标
public int lenChChar;//中文占据的字节长度
public string ChineseChar;//中文解释
}

    调用堆栈:
    >   Server.exe!Server.EnWordData.StringToEnWord(string fileName) 行 88 C#
Server.exe!Server.Program.Main() 行 23 C#
[外部代码]  

2个回答

CSDNXIAOD
CSDNXIAOD   2016.04.10 11:12

Queue插入的时候报错:源数组长度不足。请检查 srcIndex 和长度以及数组的下限
Queue插入的时候报错的处理方法:源数组长度不足。请检查 srcIndex 和长度以及数组的下限
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

GYerik
GYerik 程序是涉及到多线程
2 年多之前 回复
a172586418
a172586418   2016.04.10 21:31

是不是多线程导致的?

GYerik
GYerik
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Queue插入的时候报错:源数组长度不足。请检查 srcIndex 和长度以及数组的下限
我在编写多线程的时候使用了System.Collections.Generic.Queue类。
Queue插入的时候报错的处理方法:源数组长度不足。请检查 srcIndex 和长度以及数组的下限
与多线程并发操作Queue有关! 1)如果你用的是System.Collection.Queue集合,插入队列时 1 2 3 4 5 6 System.Collection.Queue q = new System.Collection.Queue(); //锁定队列集合,然后插入 lock (q.SyncRo
C#源数组长度不足。请检查 srcIndex 和长度以及数组的下限
.net C#多线程导致的Queue队列错误 1, 调用Queue .Enqueue 方法时, 会不定时抛出ArgumentException, 错误消息为"源数组长度不足。请检查 srcIndex 和长度以及数组的下限。"  2, 调用Queue .Dequeue 方法时, 会不定时返回0或null, 但队列中确从未添加过0或null.  解决方法: 1)入队、出队加锁,
C#控制台 利用length得到一个数组的长度
慈心积善融学习,技术愿为有情学。善心速造多好事,前人栽树后乘凉。我今于此写经验,愿见文者得启发。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplica
C#动态设置数组长度
转自:http://www.cnblogs.com/ysz12300/p/5595907.html 命名空间:using System.Collections;   ArrayList就是传说中的动态数组,它可以动态的增加和减少元素,另外它可以存储任意个数和任意类型的元素。   属性  Count属性是目前ArrayList包含的元素的数量,这个属性是只读的 Capacity属性是目前Arr
ConstrainedCopy()
讲一个数组拷贝到另一个数组 参数依次:源数组,拷贝起始index,目标数组,粘贴起始index,拷贝长度。 Array.ConstrainedCopy(sourceArray, fromIndex, destinationArray, fromIndex, length1);
C#中Array类创建动态类型、长度的数组
Array类 提供创建、操作、搜索和排序数组的方法,因而在公共语言运行时中用作所有数组的基类。 命名控件: System 程序集:mscorlib 语法:public abstract class Array:ICloneable, IList, ICollection, IEnumerable, IStructuralComparable, IStructur
C#读取数组中的指定长度
//定义一个1024长度的数组bytes byte[] bytes = new byte[1024]; //读取bytes中从第0位开始的100个字节到bytesCut中 byte[] bytesCut = bytes.Take(100);
C# 求多维数组各维的长度/元素个数
byte[][] testArr = new byte[][]{};求testArr的行数:testArr.GetLength(1);求testArr的列数:testArr.GetLength(0);多维数组依次类推。Rank返回数组的维数,例如二维数组,Rank返回值总为2;GetLength(i)返回第i维的长度;Length返回数组所有元素的个数;
【Shell脚本学习13】Shell数组:shell数组的定义、数组长度
Shell在编程方面比Windows批处理强大很多,无论是在循环、运算。 bash支持一维数组(不支持多维数组),并且没有限定数组的大小。类似与C语言,数组元素的下标由0开始编号。获取数组中的元素要利用下标,下标可以是整数或算术表达式,其值应大于或等于0。 定义数组 在Shell中,用括号来表示数组,数组元素用“空格”符号分割开。定义数组的一般形式为:     array