Ejemplo n.º 1
0
        //================================================================
        // These are conversion routines to turn our .NET structures into
        // their HDF5-persistable version equivalents.
        //
        private KeyValT Convert(string key, string val)
        {
            byte[] keydata = System.Text.Encoding.UTF8.GetBytes(key);
            byte[] valdata = System.Text.Encoding.UTF8.GetBytes(val);

            if (keydata.Length > FIXED_STRING_LENGTH)
            {
                throw new InvalidOperationException("Key is longer than 40 characters.");
            }

            if (valdata.Length > FIXED_STRING_LENGTH)
            {
                throw new InvalidOperationException("Value string is longer than 40 characters.");
            }

            KeyValT kv = new KeyValT();

            unsafe
            {
                for (int i = 0; i < Math.Min(keydata.Length, FIXED_STRING_LENGTH); i++)
                {
                    kv.key[i] = keydata[i];
                }
                for (int i = 0; i < Math.Min(valdata.Length, FIXED_STRING_LENGTH); i++)
                {
                    kv.val[i] = valdata[i];
                }
            }
            return(kv);
        }
Ejemplo n.º 2
0
        //================================================================
        // These are conversion routines to turn our .NET structures into
        // their HDF5-persistable version equivalents.
        //
        private KeyValT Convert(string key, string val)
        {
            byte[] keydata = System.Text.Encoding.UTF8.GetBytes(key);
            byte[] valdata = System.Text.Encoding.UTF8.GetBytes(val);

            if (keydata.Length > FIXED_STRING_LENGTH)
                throw new InvalidOperationException("Key is longer than 40 characters.");

            if (valdata.Length > FIXED_STRING_LENGTH)
                throw new InvalidOperationException("Value string is longer than 40 characters.");

            KeyValT kv = new KeyValT();
            unsafe
            {
                for (int i = 0; i < Math.Min(keydata.Length, FIXED_STRING_LENGTH); i++)
                    kv.key[i] = keydata[i];
                for (int i = 0; i < Math.Min(valdata.Length, FIXED_STRING_LENGTH); i++)
                    kv.val[i] = valdata[i];
            }
            return kv;
        }