Bonjour à tous j'implémente cette fonction de copiage avec le code ci joint:
et lorsque je compile je recois l'erreur suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 static unsafe void Copy(char* src, int srcIndex, char* dst, int dstIndex, int count) { if (src == null || srcIndex < 0 || dst == null || dstIndex < 0 || count < 0) { throw new System.ArgumentException(); } //byte[] src1 = System.Text.Encoding.Default.GetBytes(src); //byte[] dst1 = System.Text.Encoding.Default.GetBytes(dst); int srcLen = src.Length; int dstLen = dst.Length; if (srcLen - srcIndex < count || dstLen - dstIndex < count) { throw new System.ArgumentException(); } // The following fixed statement pins the location of the src and dst objects // in memory so that they will not be moved by garbage collection. fixed (byte* pSrc = src, pDst = dst) { byte* ps = pSrc; byte* pd = pDst; // Loop over the count in blocks of 4 bytes, copying an integer (4 bytes) at a time: for (int i = 0; i < count / 4; i++) { *((int*)pd) = *((int*)ps); pd += 4; ps += 4; } // Complete the copy by moving any bytes that weren't moved in blocks of 4: for (int i = 0; i < count % 4; i++) { *pd = *ps; pd++; ps++; } } }
Operator '.' cannot be applied to operand sur la ligne:
d'ou vient le problème?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2int srcLen = src.Length;
Merci par avance.
Partager