是否有一种方法可以为Edittext使用setError的资源?
我也尝试了setError.(getString(R.string.bla))和context.getString(R.string.bla)
其中没有设置文本bla在strings.xml中对应的错误.它得到一个我认为资源参考值的数字.
任何想法如何使用字符串资源的setError?
谢谢
我只是想知道如何将null颜色传递给方法.
下面是一个获取颜色参数的方法的示例:
protected void myMethod(Color color,other parameters...) {}
Run Code Online (Sandbox Code Playgroud)
现在我正在使用显示的条件.根据这种情况,我想改变颜色.
if(1) {myMethod(Color.Red,....)}
if(2) {myMethod(Color.Black,...)}
if(3) {myMethod(Color.Ignore,...)} //so here just ignore this color parameter and keep the original.
Run Code Online (Sandbox Code Playgroud)
我知道我可以做很多事情来克服这个问题,但正如我所说,我只是想知道是否有更好的传递忽略值的方法,所以它将使用元素的原始颜色.
我创建了一个简单的控制台应用程序,如下所示
string fileName =@"Logs\Log" + DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".xml";
try
{
var file = new FileInfo(fileName);
file.Directory.Create();
if (!file.Exists)
{
CreateNewLogFile(file);
}
}
Run Code Online (Sandbox Code Playgroud)
每当我运行 MyApp.exe 时,它都会在 ~Logs\ 文件夹下生成一个 xml 文件,并在创建时附加文件名。
但是当我设置一个任务来运行控制台应用程序时,我可以从 Task Scheduler 的历史记录中看到任务完成得很好我也检查了事件并且没有错误但是它没有在 ~Logs 文件夹下创建任何文件。
我已授予该文件夹的完全权限。并且任务用户对文件夹具有完全权限。我不明白为什么当我运行 MyApp.exe 时它会生成文件,但是当任务调度程序运行时它却没有?
我有一个从数据库返回的数据表。
内容类似如下:
UserId | Address | Phone
1 blah 0123
1 blah2 3445
2 sdsdf 2343
2 ssf 2223
3 sadss 2321
Run Code Online (Sandbox Code Playgroud)
这是从数据库返回的 DataTable 的内容。
现在我只想按用户 ID 对结果进行分组并循环输出结果
foreach (DataTableGroupedByUser 中的 DataRow userRow){
foreach (DataRow restOfColumns in AddressAndPhoneRows){
输出用户详细信息 } }
我会得到的输出应该是:
User Id: 1
Address Phone
1- blah 0123
2- blah2 3445
User Id 2:
Address Phone
1- sdsdf 2343
2- ssf 2223
Run Code Online (Sandbox Code Playgroud)
用户 ID:3 ...
我希望你能明白。
基本上我不想为每个用户多次查询数据库,而只是使用一个查询来提取所有数据并处理内存中的分组。
这也有其他原因。
有没有办法通过使用 DataTable 和过滤来实现这一点?
是否有任何方法可以调用,以找出滚动不起作用?
或者列表视图停止滚动时是否有任何可以调用的侦听器?
提前致谢!
我找到了一种方法来做到这一点,但我只是想知道是否真的有一种直接的方法来做到这一点.
所以我有Artist对象的列表,我想打印出所有艺术家的名字作为一个逗号分隔的字符串.
这是我的代码来实现这一目标
string.Join(",",Artists.Select(a => a.ArtistName).ToArray());
Run Code Online (Sandbox Code Playgroud)
或者我应该使用ToString方法?
而不是使用的foreach或为找忽略逗号的最后一个或第一个元素.我确信必须有一种方法可以轻松连接DataRows列表的特定列.
这是我尝试过的
List<DataRow> rows;
string forms = rows.Aggregate(string.Empty, (current, row) => current + row[1] + ", ");
Run Code Online (Sandbox Code Playgroud)
输出:A,B,C,D,
string forms = rows.Aggregate(string.Empty, (current, row) => current + ", " + row[1]);
Run Code Online (Sandbox Code Playgroud)
输出:,A,B,C,D
也尝试了这个建议:
string forms = string.Join(", ", Array.ConvertAll(rows.ToArray(), i => i.ToString()));
Run Code Online (Sandbox Code Playgroud)
输出:System.Data.DataRow,System.Data.DataRow,System.Data.DataRow,System.Data.DataRow <>
想要什么:
输出A,B,C,D
我开始从事一个项目,我注意到 ToList() 被多次调用,我认为它并不是真正必要和多余的。
第一个 ToList() 位于数据层,在此调用转到数据库并获取数据。
public IEnumerable<Company> GetCompanies()
{
return DbContext.Companies.ToList();
}
Run Code Online (Sandbox Code Playgroud)
然后在控制器我可以看到另一个调用为 ToList()
public ActionResult Index()
{
var companies = _companyService.GetCompanies().ToList();
return View(companies);
}
Run Code Online (Sandbox Code Playgroud)
我相信在控制器中调用 ToList() 是多余的。但我只是想知道它是否对性能有任何影响,或者语言本身自动识别结果实际上已经是列表并忽略第二个调用?
更新
另一个问题询问调用 ToList() 是否有影响。但是,我想知道对同一对象列表多次调用 ToList() 是否会产生影响。正如有人提到的那样,应该“希望忽略”。
我有一个工作表单应用程序,上面有一个按钮.我也有源代码.所以现在我正在尝试从Windows上的计划任务运行应用程序,我想在应用程序运行时将代码更改为单击按钮操作.问题是应首先加载表单,然后触发单击操作.我需要一个计时器吗?如果有的话,请你帮个忙吗?因此加载表单应用程序大约需要3-4秒.所以它应该在5秒后触发点击动作
我花了一天的时间来弄清楚if语句之一为字符串值返回true的问题.
我们正在解析以检查值是数字还是字符串.我发现使用了这个语句,当字符串值作为6E02时,语句返回true,这是一个double值.
var double temp;
var val ="6E02"
result = double.TryParse(val, out temp)
Run Code Online (Sandbox Code Playgroud)
如何修复此问题以返回字符串的结果为false,如(Number)E0(Number)
简单的方法我相信首先检查文本是否包含E0,如果它只返回false.但有没有更好的方法来处理这个或另一个内置的方法来替换方法?