我的答案的灵感来自 bkk
public static class ObservableCollection
{
public static void Sort<TSource, TKey>(this ObservableCollection<TSource> source, Func<TSource, TKey> keySelector, bool isAZ)
{
if (isAZ)
{
List<TSource> sortedList = source.OrderBy(keySelector).ToList();
source.Clear();
foreach (var sortedItem in sortedList)
{
source.Add(sortedItem);
}
}
else
{
List<TSource> sortedList = source.OrderByDescending(keySelector).ToList();
source.Clear();
foreach (var sortedItem in sortedList)
{
source.Add(sortedItem);
}
}
}
}
用法
_someObservableCollection.Sort(x => x.Number, false); // Where number is an simple property (non-object)
正如您所发现的,神秘的 :
只是一个 打开和关闭大括号的替代语法。当您将 PHP 与 HTML 混合时,它是最有效的,因为它可以更容易地发现您是否正在关闭 if
、for
、foreach
或 while
结构。
if($foo):
// Do something
endif;
for($i = 0; $i < 10; $i++):
// Do something
endfor;
foreach($foo as $k, $v):
// Do something
endforeach;
while($foo):
// Do something
endwhile;
错误处理程序和记录器是两个不同的实体。错误处理程序决定如何处理错误。应该立即发送到记录器,应该将其保存在数据库中,还是应该简单地保存在某个缓冲区中直到有人询问。
记录器决定如何记录给定的消息。它应该显示在控制台上还是应该保存在磁盘文件中,应该以什么格式显示。
请记住记录器的功能。
1)它应该是独立的类。它的行为不应该依赖于其他类。
2)记录器最好是单例的。您不需要许多漂浮的物体做同样的事情。但是单例类在多线程方面也有自己的麻烦。所以我知道这一点是有争议的。
3)它必须并且必须具有异步日志记录的能力。这意味着生产者和消费者的实现。 (日志记录是一种 I/O 操作,因此本质上是昂贵的。您不希望主处理占用此操作。但话又说回来,您可能不想使用线程来废弃这个操作。)
在错误记录器的实现中,我可以没有看到任何记录器。此外,您的错误处理程序正在保存一个错误。您可能需要错误向量。将 SetError 保留为固定参数。传递错误 ID、错误消息和错误缓冲区长度等参数。让调用者创建错误消息。
这是一个简单的解决方案,只需旋转进度条即可
android:rotation="270"
这适用于输出 XML,但我仍然不知道如何输出 HTML:
(defn dom->xml
"serialize a dom element back to XML text"
[elem]
(let [sw (java.io.StringWriter.)]
(.serialize
(org.apache.xml.serialize.XMLSerializer.
sw (org.apache.xml.serialize.OutputFormat.))
elem)
(str sw)))
您可以将包含第一个单元格内容的 UIView 放置在 UITableView 的顶部。当您填充单元格时,您应该将第一个单元格留空(它将被初始位置的固定 UIView 覆盖)。
sed -i.bak -r 's/page-([0-9]+)/apple-\1.html/' file
sed 's/page-\([0-9][0-9]*\)/apple-\1.html/' file > t && mv t file
除了sed之外,你还可以使用gawk的gensub()
awk '{b=gensub(/page-([0-9]+)/,"apple-\\1.html","g",$0) ;print b }' file
Ruby — 52
s=?1;loop{puts s;s.gsub!(/(.)\1*/){"#{amp;.size}"+$1}}
任务太简单了,也太没用了……
如果您使用的是NServiceBus V3,您可以查看IMutateOutgoingMessages和IMutateIncomingMessages接口。
http://support.nservicebus.com/customer/portal /articles/894155-nservicebus-message-mutators-sample
或者,如果您想让消息按特定顺序通过处理程序,请查看此链接:
http://support.nservicebus.com/customer /portal/articles/862397-如何指定调用处理程序的顺序-
命令 - 从模拟器获取日志
adb.exe 可以在 $your_installation_path$\android sdk\platform-tools 找到
更详细的信息
https:// learn.microsoft.com/ru-ru/xamarin/android/deploy-test/debugging/android-debug-log?tabs=windows
Command - get log from the emulator
adb.exe can be found at $your_installation_path$\android sdk\platform-tools
more detailed
https://learn.microsoft.com/ru-ru/xamarin/android/deploy-test/debugging/android-debug-log?tabs=windows
android模拟器中的console.log浏览器