本文整理汇总了C#中XCore.List.BinarySearch方法的典型用法代码示例。如果您正苦于以下问题:C# List.BinarySearch方法的具体用法?C# List.BinarySearch怎么用?C# List.BinarySearch使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类XCore.List
的用法示例。
在下文中一共展示了List.BinarySearch方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ModifyOverlay
public void ModifyOverlay(bool fApplyTag, IVwOverlay pvo, int itag)
{
CheckDisposed();
if (m_rootb == null)
return;
Debug.WriteLine("WARNING: RootSite.ModifyOverlay() isn't tested yet");
int hvo;
uint clrFore;
uint clrBack;
uint clrUnder;
int unt;
bool fHidden;
string uid;
using (ArrayPtr arrayPtr = MarshalEx.StringToNative((int)VwConst1.kcchGuidRepLength + 1, true))
{
pvo.GetDbTagInfo(itag, out hvo, out clrFore, out clrBack, out clrUnder, out unt,
out fHidden, arrayPtr);
uid = MarshalEx.NativeToString(arrayPtr,
(int)VwConst1.kcchGuidRepLength, false);
}
IVwSelection vwsel;
ITsTextProps[] vttp;
IVwPropertyStore[] vvps;
if (EditingHelper.GetCharacterProps(out vwsel, out vttp, out vvps))
{
int cttp = vttp.Length;
for (int ittp = 0; ittp < cttp; ittp++)
{
string strGuid = vttp[ittp].GetStrPropValue(
(int)FwTextPropType.ktptTags);
// REVIEW (EberhardB): I'm not sure if this works
int cGuids = strGuid.Length / Marshal.SizeOf(typeof(Guid));
List<string> guids = new List<string>();
for (int i = 0; i < cGuids; i++)
guids.Add(strGuid.Substring(i, Marshal.SizeOf(typeof(Guid))));
if (fApplyTag)
{
// Add the tag if it does not exist
if (guids.BinarySearch(uid) >= 0)
{
// The tag has already been applied to the textprop, so it doesn't
// need to be modified.
vttp[ittp] = null;
continue;
}
else
{
// We need to add the tag to the textprop.
guids.Add(uid);
guids.Sort();
}
}
else
{
// Remove the tag from the textprop.
guids.Remove(uid);
}
ITsPropsBldr tpb = vttp[ittp].GetBldr();
tpb.SetStrPropValue((int)FwTextPropType.ktptTags,
guids.ToString());
vttp[ittp] = tpb.GetTextProps();
}
vwsel.SetSelectionProps(cttp, vttp);
/*
* ENHANCE (EberhardB): Implement this if we need it. It probably should be
* implemented in a derived class (view class for DataNotebook?)
// Update the RnGenericRec_PhraseTags table as necessary.
// (Yes, this is special case code!)
AfDbInfo * pdbi = NULL;
AfMainWnd * pamw = m_pwndSubclass->MainWindow();
if (pamw)
{
AfMdiMainWnd * pammw = dynamic_cast<AfMdiMainWnd *>(pamw);
AfLpInfo * plpi = NULL;
if (pammw)
{
plpi = pammw->GetLpInfo();
if (plpi)
pdbi = plpi->GetDbInfo();
}
}
if (pdbi)
{
int clevEnd;
int clevAnchor;
HVO hvoEnd;
HVO hvoAnchor;
PropTag tagEnd;
PropTag tagAnchor;
int ihvo;
int cpropPrev;
IVwPropertyStorePtr qvps;
//.........这里部分代码省略.........