Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ FindByKey() [2/2]

override int System.Data.LinqDataView.FindByKey ( object[] key)
inlinepackagevirtual

Reimplemented from System.Data.DataView.

Definition at line 114 of file LinqDataView.cs.

115 {
116 if (base.SortComparison == null && string.IsNullOrEmpty(base.Sort))
117 {
118 throw ExceptionBuilder.IndexKeyLength(0, 0);
119 }
120 if (base.SortComparison != null && key.Length != sortExpressionBuilder.Count)
121 {
123 }
124 if (base.SortComparison == null)
125 {
126 return base.FindByKey(key);
127 }
128 Index.ComparisonBySelector<object, DataRow> comparison = comparerKeyRow.Invoke;
130 foreach (object item in key)
131 {
132 list.Add(item);
133 }
134 Range range = FindRecords(comparison, list);
135 if (range.Count != 0)
136 {
137 return range.Min;
138 }
139 return -1;
140 }
static InvalidOperationException InvalidOperation(string message)
Func< object, DataRow, int > comparerKeyRow
readonly SortExpressionBuilder< DataRow > sortExpressionBuilder
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string LDV_InvalidNumOfKeys
Definition SR.cs:920
Definition SR.cs:7

References System.Data.LinqDataView.comparerKeyRow, System.comparison, System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.SR.Format(), System.Data.ExceptionBuilder.IndexKeyLength(), DataSetUtil.InvalidOperation(), System.item, System.key, System.SR.LDV_InvalidNumOfKeys, System.list, and System.Data.LinqDataView.sortExpressionBuilder.