19 if (columns.Length == 0)
23 if (columns.Length > 32)
27 for (
int i = 0; i < columns.Length; i++)
29 if (columns[i] ==
null)
34 for (
int j = 0; j < columns.Length; j++)
36 for (
int k = 0; k < j; k++)
38 if (columns[j] == columns[k])
47 for (
int l = 0; l < columns.Length; l++)
66 for (
int i = 1; i <
_columns.Length; i++)
86 if (column1 == column2)
90 if (column1 ==
null || column2 ==
null)
94 if (column1.Length != column2.Length)
98 for (
int i = 0; i < column1.Length; i++)
101 for (
int j = 0; j < column2.Length; j++)
103 if (column1[i].
Equals(column2[j]))
119 for (
int i = 0; i <
_columns.Length; i++)
131 return base.GetHashCode();
143 if (columns == columns2)
147 if (columns ==
null || columns2 ==
null)
151 return columns.AsSpan().SequenceEqual(columns2,
null);
157 for (
int i = 0; i <
_columns.Length; i++)
167 for (
int i = 0; i <
_columns.Length; i++)
177 for (
int i = 0; i <
_columns.Length; i++)
197 for (
int i = 0; i <
_columns.Length; i++)
199 if (
_columns[i].Compare(record1, record2) != 0)
210 for (
int i = 0; i <
_columns.Length; i++)
Index GetIndex(IndexField[] indexDesc)
static Exception KeyNoColumns()
static Exception KeyTooManyColumns(int cols)
static Exception ColumnNotInAnyTable()
static Exception KeyDuplicateColumns(string columnName)
static Exception KeyTableMismatch()
static Exception ArgumentNull(string paramName)
readonly DataColumn[] _columns
bool Equals(DataKey value)
IndexField[] GetIndexDesc()
bool RecordsEqual(int record1, int record2)
string[] GetColumnNames()
static bool ColumnsEqual(DataColumn[] column1, DataColumn[] column2)
override int GetHashCode()
override bool Equals(object value)
bool ContainsColumn(DataColumn column)
Index GetSortIndex(DataViewRowState recordStates)
DataKey(DataColumn[] columns, bool copyColumns)
DataColumn[] ColumnsReference
bool ColumnsEqual(DataKey key)
object[] GetKeyValues(int record)